js数组方法

51 阅读1分钟
  1. forEach 参数 value, index, array
  1. map 创建一个新数组 参数 value,index,array

const array1 = [1, 4, 9, 16];

const map1 = array1.map(function(value){ //... });

console.log(map1); 3. filter 返回一个新数组 参数 value, index, array

var arr = [12,34,5,67,86,67] var newArr = arr.filter(function(value,index){ return value%2 === 0 }) 4. some 参数 value, index, array

  1. filter 查找满足条件的元素 返回的是一个数组 而且是把所有满足条件的元素返回回来

  2. some 也是查找满足条件的元素是否存在 返回的是一个布尔值 如果查找到第一个满足条件的元素就终止循环

  3. every用于检测数组所有的元素是否都符合指定条件,如果全部满足条件,则返回true,只要一个不满足,就会直接返回false

var arr = ['yellow' , 'green' , 'pink'] var flag = arr.some(function(value){ return value == 'green' }) console.log(flag) //true 5. reduce reduce()方法接收一个函数作为累加器,数组中的每个值,(从左到右)开始缩减,最终计算为一个值

arr.reduce(function(prev,cur,index,arr){ ... }, init); arr: 表示原数组;

prev: 表示上一次调用回调时的返回值,或者初始值 init;

cur: 表示当前正在处理的数组元素;

index: 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;

init: 表示初始值

let arr = [3,4,56,8,5] //求和 let sum = arr.reduce((pre,cur)=>{ return pre+cur },0) //取最大值 let maxNum = arr.reduce((pre,cur)={ returu Math.max(pre.cur) }) //去重 let arr.reduce((pre,cur)=>{ pre.indexOf(cur) < 0 && pre.push(cur) return pre