array.filter(function(currentValue,index,arr), thisValue)
- 1.该方法的第一个参数为回调函数 , 是必传的 , 它有三个参数:
- currentValue:必须 。当前元素的值;
- index:可选 。当前元素的索引值;
- arr:可选 。当前元素属于的数组对象 。
const arr = [1, 2, 3, 4, 5]arr.filter(item item > 2) // 输出结果:[3, 4, 5]
同样 , 它也有第二个参数 , 用来绑定参数函数内部的this变量 。可以使用filter()方法来移除数组中的undefined、null、NAN等值:
let arr = [1, undefined, 2, null, 3, false, '', 4, 0]arr.filter(Boolean)// 输出结果:[1, 2, 3, 4]
注意:- filter 方法会返回一个新的数组 , 不会改变原数组;
- filter 方法不会对空数组进行检测;
- filter 方法仅适用于检测数组 。
every() 方法会对数组中的每一项进行遍历 , 只有所有元素都符合条件时 , 才返回true , 如果数组中检测到有一个元素不满足 , 则整个表达式返回 false , 且剩余的元素不会再进行检测 。其语法如下:
两者的语法如下:
array.some(function(currentValue,index,arr),thisValue)array.every(function(currentValue,index,arr), thisValue)
两个方法的第一个参数为回调函数 , 是必传的 , 它有三个参数:- currentValue:必须 。当前元素的值;
- index:可选 。当前元素的索引值;
- arr:可选 。当前元素属于的数组对象 。
let arr = [1, 2, 3, 4, 5]arr.some(item item > 4) // 输出结果: truelet arr = [1, 2, 3, 4, 5]arr.every(item item > 0) // 输出结果: true
注意:- 两个方法都不会改变原数组 , 会返回一个布尔值;
- 两个方法都不会对空数组进行检测;
- 两个方法都仅适用于检测数组 。
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
reduce 方法会为数组中的每一个元素依次执行回调函数 , 不包括数组中被删除或从未被赋值的元素 , 回调函数接受四个参数:- total:上一次调用回调返回的值 , 或者是提供的初始值(initialValue);
- currentValue:当前被处理的元素;
- currentIndex:当前元素的索引;
- arr:当前元素所属的数组对象 。
let arr = [1, 2, 3, 4]let sum = arr.reduce((prev, cur, index, arr) => {console.log(prev, cur, index);return prev + cur;})console.log(arr, sum);
输出结果:1 2 13 3 26 4 3[1, 2, 3, 4] 10
再来加一个初始值试试:let arr = [1, 2, 3, 4]let sum = arr.reduce((prev, cur, index, arr) => {console.log(prev, cur, index);return prev + cur;}, 5)console.log(arr, sum);
输出结果:5 1 06 2 18 3 211 4 3[1, 2, 3, 4] 15
由此可以得出结论:如果没有提供初始值initialValue , reduce 会从索引1的地方开始执行 callback 方法 , 跳过第一个索引 。如果提供了初始值initialValue , 从索引0开始执行
推荐阅读
- 小三|死循环!“山东第一胖”王浩楠翻车后又复胖,体重反弹疑已被抛弃
- 招商信用卡循环利息是什么意思?信用卡账单里“循环利息”是什么意思?
- 三分钟轻松搞懂 HashMap 死循环问题!
- 为什么 JavaScript 在国外逐渐用于前端+后端开发,而国内还是只用它做前端?
- object JavaScript选择 map而非对象存储键值对的 5 个理由附示例
- JavaScript 类型转换和强制转换
- 循环取货(Milk Run) 循环取货
- 不可回收垃圾有哪些、垃圾桶标志以及循环标志和不可回收标志是什么样子
- 小行星撞击曾触发地壳物质循环 地壳物质循环
- 游泳池水处理设备怎么选择? 游泳池循环水处理设备