6 - 编码题

1 怎么实现 Ajax 封装


2 数组去重的所有方式

1 ES6 的方式: let set = Array.from(new Set([1, 2, 2, 3]))

2 forEach 实现数组去重: 
    let arr1 = [1, 2, 1, 3, 1];
	let arr2 = [];
    arr1.forEach(function (self, index, arr) {
    
    
      arr.indexOf(self) === index ? arr2.push(self) : null;
    });
    console.log(arr2);  //[1,2,3]

3 

3

4 循环

    for (var i = 0; i < 5; i++) {
    
    
      setTimeout(function() {
    
    
        console.log(i)
      }, i*1000)
    }


    // 1 先执行同步任务, 创建了5个定时器, 

    // 2 开始执行这 5个异步任务

    // 3 他们的执行时间分别是 0s, 1s, 2s, 3s, 4s

    // 4 因为函数里面的 i, 在执行的时候才会访问这个变量, 而此时同步执行完毕后的 i已经等于 5了

    // 5 所以显示出了, 每隔一秒打印一次的错觉

猜你喜欢

转载自blog.csdn.net/weixin_46178697/article/details/114415926