forEach、map、filter、reduce、some、every
// 1. forEach
var arr = [1, 2, 3, 4, 5];
arr.forEach((item, index, arr) => {
console.log(item)//结果是1,2,3,4,5
})
//forEach遍历数组,无返回值,不改变原数组,仅仅只是遍历。
// 2. map
var arr = [1, 2, 3, 4, 5];
var newArr=arr.map((item, index, arr) => {
return item * 2
})
console.log(newArr)//结果是[2, 4, 6, 8, 10]
console.log(arr)//结果是[1, 2, 3, 4, 5]
// map遍历数组,返回新数组,不改变原数组的值。
// 3.filter
var arr = [1, 2, 3, 4, 5];
var newArr=arr.filter((item, index, arr) => {
return item > 2
})
console.log(newArr)//结果是[3, 4, 5]
console.log(arr)//结果是[1, 2, 3, 4, 5]
// filter过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组的值。
// 4.reduce
var arr = [1, 2, 3, 4, 5];
arr.reduce((result, item, index, arr) => {
return result + item
})
var num=arr.reduce((result, item, index, arr) => {
return result + item
})
console.log(num)//结果是15
console.log(arr)//结果是[1, 2, 3, 4, 5]
// reduce 让数组的前后两项进行某种计算,然后返回其值,并继续计算。不改变原数组,返回计算的最终结果,从数组的第二项开始遍历。
// 5.some
var arr = [1, 2, 3, 4, 5];
var val=arr.some((item, index, arr) => {
return item > 3
})
console.log(val)//结果是true
console.log(arr)//结果是[1, 2, 3, 4, 5]
// some遍历数组每一项,有一项返回true,则停止遍历,结果返回true,不改变原数组(遇真则真,全假则假)。
// 6.every
var arr = [1, 2, 3, 4, 5];
var val=arr.every((item, index, arr) => {
return item > 1
})
console.log(val)//结果是false
console.log(arr)//结果是[1, 2, 3, 4, 5]
// every遍历数组每一项,每一项返回true,则最后结果为true,当任何一项返回false时,停止遍历,返回false,不改变原数组(遇假则假,全真则真)