JS 睡眠排序
注意:没有实际使用意义。仅供娱乐,仅供娱乐,仅供娱乐。
// 排序函数
function lazySort(lists){
// 返回值 数组
const results = [];
// 遍历需要排序的数组
lists.forEach(function(el){
setTimeout(function(){
results.push(el);
}, [el]);
});
return results;
}
let sortedArr = lazySort([22, 55, 99, 88, 33]);
console.log(sortedArr);
复制代码,按键F12
在 Chrome DevTools 执行,如下:
执行代码后,首先返回空数组,然后通过setTimeout
向数组内添加元素,展开数组后,可见排序结果。
可见,这种排序方法,只能对数值类元素排序,且如果数值太大,等待setTimeout
执行时间也就会越长。
因使用setTimeout
延后执行添加数组元素操作,故称之为“睡眠排序”。
实际意义:可探究 JavaScript 闭包的概念。
(完)