遍历数组的方法 forEach(), fiflter(),some(),Map(), reduce();

1.forEach方法

var arr = [10, 20, 30, 40, 50];
    arr.forEach((item, index) => {
      console.log(item);
      console.log(index);
    })

解析:

item:代表数组中的没一项

index:代表数组中的索引

forEach没有返回值,返回值是underfined

2.fiflter()过滤数组

 var arr = [10, 20, 30, 40, 50];
    var newArr = arr.filter((item) => {
      return item >= 30
    });
    console.log(newArr); //[30, 40, 50]
    console.log(arr); //  [10, 20, 30, 40, 50]

 解析:返回的结果是一个新的数组,原数组并没有变化

3.some方法

作用:some方法返回的是一个布尔值,如果查找到返回的是true,没有查找到返回的是false

 var arr = [10, 20, 30, 40, 50];
    var flag = arr.some((value) => {
      return value === 60

    })
    console.log(flag);
    console.log(arr); //[10, 20, 30, 40, 50]

  解析:如果查找到第一个满足条件的元素就不在进行查找 ,对原数组也没有改变

4.map()方法

map 遍历数组,生成新的数组, 将数组的每一个元素拿出来处理完成之后在放回去;

    var arr = [1, 2, 3];
    var cc = arr.map(num => num > 10 ? num : '0' + num);
    console.log(cc);
    console.log(arr);

解析:返回的是改变内容的新数组,原始数组不会改变

5.reduce() 方法

     var arr = [1, 2, 3];
     var cc = arr.reduce((add, val, index, arr) => add + val, 0);
       

    console.log(cc); //6

解析:reduce主要是为了对所有数组进行累加,最后返回一个值,不改变原数组

6.js中filter()和map()方法的区别

filter()方法是根据一定的条件对原数组长度进行过滤返回一个新的数组,只改变原数组的长度,不会改变原数组的内容。

map()方法是根据一定的条件对原数组内容进行处理返回一个新的数组,不会改变原数组的长度,只改变原数组的内容。

方法的总结: 要给元素添加内容使用Map(),要对数组进行过滤使用filter()

Guess you like

Origin blog.csdn.net/qq_59076775/article/details/120771108