数组的遍历方法
-
reduce 常用于求和
array.reduce(function(sum,item){ sum// 第一次取的值数组中第一个值,后面取的值都是最后返回的值 item // 数组中第二个值,每次都依次取值 //数组的时候可以不给初始值,初始值一般为0 //数组包对象时要给初始值0 },初始值)
-
例子 求下面数组的和
-
let arr=[1,2,3,4] arr.reduce(function(sum,item){ return sum=sum+item },0)
-
-
map 返回一个新数组 ,数组中的元素原始数组元素调用函数处理后的值/可取数组对象的属性值 map方法不改变原数组
array.map(function(value,[index],[arr]){ // value 当前元素的值 //index 可选。当前元素的索引值 //arr 可选,当前元素属于数组对象 //thisValue 可选,初始值, reture 返回一个新数组。 },[thisValue])
-
例子
const arr = [ { label: '男', value: 0 }, { label: '女', value: 1 } ] arr.map(function(item){ console.log(item.label)//男,女 })
-
-
filter 方法创建一个新的数组,对数组元素的一个条件进行筛选 filter方法不改变原数组
array.filter(function(value,index,arr){ // value 当前元素的值 //index 可选。当前元素的索引值 //arr 可选,当前元素属于数组对象 //thisValue 可选,初始值, },thisValue)
-
例子
-
let arr = [56, 15, 48, 3, 7]; let newArr = arr.filter(function (value, index, array) { return value % 2 === 0; }); console.log(newArr) // [56, 48]
-
-
forEach 最简单,最常见的遍历方法 用于调用数组中的每一个元素,并将元素传递给回调函数
-
forEach() 对于空数组是不会执行回调函数的
array.forEach(function(value,index,arr){ // value 当前元素的值 //index 可选。当前元素的索引值 //arr 可选,当前元素属于数组对象 //thisValue 可选,初始值, },thisValue)
例子
-
let arr=[1,2,3,4,5] arr.forEach((item)=>{ console.log(item) 1,2,3,4,5 })
-
-
every() 方法用于检测数组所有元素是否都符合指定条件 ,如果数组中有一个元素不满足,则返回false
-
array.every(function(value,index,arr){ // value 当前元素的值 //index 可选。当前元素的索引值 //arr 可选,当前元素属于数组对象 //thisValue 可选,初始值, },thisValue)
-
例子
-
let arr=[1,2,3,4,5] const newArr= arr.every((item)=>{ console.log('val:'+val) //val:1 不会打印 后面的数 return item>3 }) console.log(newArr) //false
-
-