ES6数组面试题

1.forEach()

var arr = [1,2,3,4];
arr.forEach((item,index,arr) => {
    
    
    console.log(item) //结果为1,2,3,4
})
// 数组的遍历方法,无返回值,不改变原数组

2.map()

var arr = [1,2,3,4];
arr.map((item,index,arr) => {
    
    
    return item*10 //新数组为10,20,30,40
})
//map遍历数组,返回一个新数组,不改变原数组的值。

3.filter()

var arr = [1,2,3,4];
arr.filter((item,index,arr) => {
    
    
    return item > 2 //新数组为[3,4]
})
//filter过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组的值。

4.reduce()

var arr = [1,2,3,4];
arr.reduce((sum,item,index,arr) => {
    
    
      // sum 上次循环返回的值,若为第一次循环值为 origin
      // item 循环项
      // index 循环下表
      // arr 源数组
      return sum + item;
},origin)
//reduce 遍历数据求和。

5.some()

var arr = [1,2,3,4];
arr.some((item,index,arr) => {
    
    
    return item > 3 //结果为true
})
//遍历数组每一项,有一项返回true,则停止遍历,结果返回true。不改变原数组

6.every()

var arr = [1,2,3,4];
arr.every((item,index,arr) => {
    
    
    return item > 1 //结果为false
})
//遍历数组每一项,每一项返回true,则最终结果为true。当任何一项返回false时,停止遍历,返回false。不改变原数组
// 与some()方法互补

7.all()方法

多个异步操作执行完后才执行回调

Promise.all([promise1,promise2,promise3])
.then(results => {
    
    
  // results 是上面多个promise回调结果的数组
});

猜你喜欢

转载自blog.csdn.net/hrj970808/article/details/109646631