6

以数组const arr = [1, 2, 3];为例,有如下的方法可以用于遍历操作:

for

  for (let i = 0; i < arr.length; i++) {
    console.log(arr[i]);
  }

for-in

  for(let index in arr){
    console.log(arr[index]);
  }

for-in实际是遍历一个对象的可枚举属性,是无序的遍历,所以在需要有序的遍历数组时不能用for-in

for-of

  for (let item of arr) {
    console.log(item);
  }

任何实现了可迭代协议(Iteration protocols) 的对象(Array,Map,Set,String等)都可用for-of进行迭代。

forEach

  arr.forEach((item, index) => {
    console.log(item);
  });

这里的forEach指的是Array.prototype.forEachforEach是数组特有的方法,其他数据结构不能使用该方法。当然某些数据结构也可以定义自己的forEach方法,比如通过document.querySelectorAll获取的NodeList也拥有自己的forEach方法,用法也和arryforEach一样,但他们不是一个东西。

map

 arr.map((item, index) => {
    console.log(item);
  });

注意:map会返回一个和元素组长度一样的新数组,新数组中的元素由元素组元素计算得到。

filter

 arr.filter((item, index) => {
    console.log(item);
  });

注意:filter也会返回一个新数组,新数组长度<=原数组长度,新数组中元素由原数组中筛选得到。

以上是我能想到的所有方法,如果还有其他方法,希望提醒!

感谢大家阅读,另外,在这边帮朋友推一个爱心众筹,希望大家能够奉献点爱心,朋友母亲,身患直肠癌,目前在北京武警总医院接收治疗,可留言留下您的联系方式,日后感激大家!

clipboard.png


CodeSteppe
7.1k 声望4.1k 粉丝