var arr=[1,2,3,4,5];
1. forEach()
遍历数组,没有返回值,不会改变原数组,不允许在循环体内写return
2. map()---若没有return相当于forEach
遍历数组,返回一个新数组,不会改变原来数组的内容
let val = arr.map((item, index, array) => {
//注意:如果没有return值,则新数组会插入一个undefined值
// item-> 数组里面的值 index-> 数组索引 array->数组本身的指引
return item * item;
});
console.log(val); //1,4,9,16,25
3.filter()
遍历数组,返回一个新数组,不会改变原数组
过滤掉数组中不满足条件的值,将满足条件的值放入一个新数组中,不会改变原数组。若没有return则返回一个空数组
let val = arr.filter((item, index, array) => {
return item > 3;
});
console.log(val); // 4,5
4. every()
遍历数组,每一项都满足条件,即每一项都是true,则返回true;只要有一个返回false,就返回false。若没有return,则返回false
let val = arr.every((item, index, array) => {
return item >= 0;
});
console.log(val); // true
5.some()---查找数组中是否有某一元素符合条件
遍历数组,只要有一项为true,则返回true,并立即停止循环
let val = arr.some((item, index, array) => {
return item > 3;
});
console.log(val); // true
6. reduce()---数组求和/阶乘之类的算法
let sum=arr.reduce((prev,cur,index,arr)=>{
return prev+cur;
// prev 表示前一位 cur表示当前位
})
参考:https://blog.csdn.net/vvvzcs/article/details/82683409
https://segmentfault.com/a/1190000015474289