数组 :
- reduce
array.reduce( function(total, currentValue, currentIndex, arr),
initialValue)
收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值,
参数 | 可选 | 描述 |
---|---|---|
total | 必需 | 初始值, 或者计算结束后的返回值。 |
currentValue | 必需 | 当前元素 |
currentIndex | 可选 | 当前元素的索引 |
arr | 可选 | 当前元素所属的数组对象。 |
initialValue | 可选 | 传递给函数的初始值 |
<script>
//10+arr
let arr = [1,2,3,4]
let sum = arr.reduce((total,value,index,arr)=>{return total+value},10)
console.log(sum)
</script>
- map
array.map(function(currentValue,index,arr), thisValue)
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。长度与原数组想等
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
参数 | 可选 | 描述 |
---|---|---|
currentValue | 必须 | 当前元素的值 |
index | 可选 | 当前元素的索引值 |
arr | 可选 | 当前元素属于的数组对象 |
thisValue | 可选 | 对象作为该执行回调时使用,传递给函数,用作 “this” 的值。 如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。 |
<script>
let arr = [1,2,3,4]
let sum = arr.map((value,index,arr)=>{return value*2})
console.log(sum)
</script>
- forEach
array.forEach(function(currentValue, index, arr), thisValue),
没有返回值,本质上等同于 for 循环,对每一项执行 function 函数。即map是返回一个新数组,原数组不变,forEach 是不改变原数组。
<script>
let arr = [1,2,3,4]
let s = 0;
let sum = arr.forEach((value,index,arr)=>{ s+=value})
console.log(sum)//undefined
console.log(arr)//[1, 2, 3, 4]
console.log(s)//10
</script>
参数 | 描述 |
---|---|
currentValue | 必需 |
index | 可选 |
arr | 可选 |
thisValue | 可选 |
4.filter
array.filter(function(currentValue,index,arr), thisValue)
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
<script>
let arr = [1,2,3,4]
let sum = arr.filter((value,index,arr)=>{ return index>1})
console.log(sum)//undefined
console.log(arr)//[1, 2, 3, 4]
</script>
5.every
array.every(function(currentValue,index,arr), thisValue)
对数组中的每一项进行判断,若都符合则返回true,否则返回false。
every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。
参数同上
<script>
let arr = [1,2,3,4]
let sum = arr.every((value,index,arr)=>{ return value>1})
console.log(sum)//false
console.log(arr)//[1, 2, 3, 4]
</script>
15.Array.some(function),对数组中的每一项进行判断,若都不符合则返回false,否则返回true。 同上 一个满足即可