show my code:
let list = [5,2,1,8,3,11,15,12,5];
let newList = [];
list.forEach(item=>{
setTimeout(function(){
newList.push(item);
},item * 100);
})
setTimeout(()=>{
console.log(newList);
},2000)
image.png
原理:
根据setTimeout这个异步操作,如果数字为1,那么100毫秒,加入进新的数组,如果数字为10,那么1000毫秒(1秒)后,加入数组,当然如果数字是1000的话,这就有点搞笑了,不得不佩服研发出这个算法的人,脑洞真大。