数组遍历方式

235 阅读1分钟

1. for循环

const arr = [0, 1, 2, 3];
for (let i = 0;  i  <  arr.length;  i++) {
    console.log(arr[i]);
}

2. forEach

const arr = [0, 1, 2, 3];
arr.forEach((item,  index) => console.log(item,  index));

item为数组每个项, index为索引

3. some

const arr = [0, 1, 2, 3];
arr.some((item,  index) => item === 2);

some: 循环遍历每一项, 如果找到符合条件项,后面便不再遍历了。

4. every

const arr = [0, 1, 2, 3];
arr.every((item,  index) => item > 2);

every: 循环遍历每一项,如果找到不符合条件的项,后面便不再遍历了。

5. map

const arr = [0, 1, 2, 3];
const mapArr = arr.map((item,  index) => ({i: item}));

map: 循环遍历每一项,所返回的值是新数组的新项数值,原数组不会改变

6. filter

const arr = [0, 1, 2, 3];
const mapArr = arr.filter((item,  index) => item < 2);

filter: 以数组形式筛选出符合条件的项,如没有符合的,返回空数组 []

7. for of

const arr = [0, 1, 2, 3];
for  (let v of arr)  {
	console.log(v);
}

8. find

const arr = [0, 1, 2, 3];
arr.find(item => item > 2);

find: 循环遍历每一项,如果找到符合条件的项, 便返回这个项, 后面便不再遍历了。如果没有则返回undefined

9. findIndex

const arr = [0, 1, 2, 3];
arr.findIndex(item => item > 2);

findIndex: 循环遍历每一项,如果找到符合条件的项,便返回这个项的索引, 后面便不再遍历了。如果没有则返回 -1

10. reduce

const arr = [0, 1, 2, 3];
const result = arr.reduce((total,  item) => total + item);

total为初始值, item为当前项。