ES6 操作数组 map filter reduce find
map
map函数可以看成是一种映射函数,而且是一一映射(返回的是一个新数据,对原数组不产生任何影响)
[1,2,3,4].map(a => a*10) ====》 [10,20,30,40]
filter
filter函数是一种过滤函数,返回符合条件的元素的数组, 不改变原数组
[1,2,3,4].filter(a => a>2) ====》 [3,4]
reduce
reduce函数是一种迭代函数,不改变原数组,返回一个值
[1,2,3,4].reduce((sum, i) => {
sum = sum + i;
return sum;
},0) ====》 10 //sum是当前的和,i是数组当前遍历到的元素
find
find函数查找到第一个符合条件的元素,则立即返回
[1,2,3,4].(a => a>2) ====》 3
every
let arr = [1,2,3,4];
let flag= arr.every((item,index,arr) =>item > 1 //结果为false
)
//遍历数组每一项,每一项返回true,则最终结果为true。当任何一项返回false时,停止遍历,返回false。不改变原数组
let flag= arr.every((item,index,arr) =>item > 1 //结果为false
)
//遍历数组每一项,每一项返回true,则最终结果为true。当任何一项返回false时,停止遍历,返回false。不改变原数组
some
var arr = [1,2,3,4];
let num =arr.some((item,index,arr) => {
console.log(item)
return item > 1 //结果为false
})
console.log(num)
//遍历数组每一项,有一项返回true,就返回true,当任何一项返回true时,则停止遍历,返回true;