数组的迭代以前使用较多是 filter
、 forEach
、 map
三种方法。
filter 是返回 返回函数为true项 组成的数组。
1
2
3
4
5
6let list = [1, 2, 3, 4];
list = list.filter((item) => {
return item > 2;
});
console.log(list); // [3, 4]forEach 是循环每一项。但是没有返回值
1
2
3
4
5
6
7
8
9let list = [1, 2, 3, 4];
let newArr = [];
list.forEach((item, index) => {
if (index % 2 == 0) {
newArr.push(item);
}
});
console.log(newArr); // [ 1, 3 ]map 同样是循环每一项。但是有返回值
1
2
3
4
5let list = [1, 2, 3, 4];
let newArr = list.map((item, index) => item + 1);
console.log(newArr); // [ 2, 3, 4, 5 ]
every
every比较常用的场景是一个表单校验的情况,
在各项均校验 都为true的时候,整个表单才返回true
代码:
1 | let list1 = [false, false, true] |
some
some比较常用的场景是手风琴菜单在只能打开一个的情况下,判断打开状态,
只要有任何一个为true,就返回true;
1 | let list1 = [false, false, true] |