ES6 Array
- 首先先定义一个数组
let arr = [1,2,3,4,5];
forEach()
- forEach会遍历数组, 没有返回值,不允许在循环体内写return,不会改变原来数组的内容
- forEach() 有三个参数,第一个是arr数组里面的值,第二个是arr数组索引,第三个是arr数组本身的指引
arr.forEach((item, idx, array) => {
//打印 1,2,3,4,5
console.log(item);
//打印 0,1,2,3,4
console.log(idx);
//打印 arr数组本身
console.log(array);
});
map()
- map 遍历数组, 会返回一个新数组,不会改变原来数组里的内容
- map() 有三个参数,第一个是arr数组里面的值,第二个是arr数组索引,第三个是arr数组本身的指引
let val = arr.map((item, idx, array) => {
//注意:如果没有return值,则新数组会插入一个undefined值
return item * item;
});
//打印 1,4,9,16,25
console.log(val);
filter()
- filter 遍历数组, 会返回一个新数组, 不会改变原来数组里的内容
- filter 会过滤掉数组中不满足条件的元素, 把满足条件的元素放到一个新数组中,不改变原数组
- filter() 有三个参数,第一个是arr数组里面的值,第二个是arr数组索引,第三个是arr数组本身的指引
let val = arr.filter((item, idx, array) => {
//注意:如果没有return值,则返回一个空数组
return item > 3;
});
//打印 4,5
console.log(val);
every()
- every 遍历数组,每一项都是true,则返回true,只要有一个是false, 就返回false
- every() 有三个参数,第一个是arr数组里面的值,第二个是arr数组索引,第三个是arr数组本身的指引
let val = arr.every((item, idx, array) => {
//注意:如果没有return值,则返回false
return item >= 0;
});
//打印 true
console.log(val);
some()
- some 遍历数组的每一项, 有一个为true就返回true, 立即停止循环
- some() 有三个参数,第一个是arr数组里面的值,第二个是arr数组索引,第三个是arr数组本身的指引
let val = arr.some((item, idx, array) => {
//注意:如果没有return值,则返回false
return item > 3;
});
//打印 true
console.log(val);
reduce()
- reduce 遍历数组的每一项, 有一个为true就返回true, 立即停止循环
- reduce() 有四个参数,第一个是上一次调用回调返回的值,第二个是arr数组里面的值,第三个是arr数组索引,第四个是arr数组本身的指引
let val = arr.reduce((initialValue, item, idx, array) => {
return initialValue + item;
});
//打印 15
console.log(val);