数组一些新方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组一些新方法相关的知识,希望对你有一定的参考价值。
1、Array.prototype.forEach()
forEach()
方法让数组的每一项都执行一次给定的函数。
语法:
array.forEach(callback[, thisArg])
参数
callback
- 在数组每一项上执行的函数,接收三个参数:
- currentValue
- 当前项(指遍历时正在被处理那个数组项)的值。
- index
- 当前项的索引(或下标)。
- array
- 数组本身。
thisArg
- 可选参数。
用来当作callback
函数内this的
值的对象。
示例
var arr = [1,2,3]; arr.forEach(function(item, index, array){ console.log(item); });
2、Array.prototype.map()
map()
方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。
语法:
array.map(callback[, thisArg])
参数
callback
- 原数组中的元素经过该方法后返回一个新的元素。
currentValue
callback
的第一个参数,数组中当前被传递的元素。index
callback
的第二个参数,数组中当前被传递的元素的索引。array
callback
的第三个参数,调用map
方法的数组。
thisArg
- 执行
callback
函数时this
指向的对象。
var arr = [1,2,3]; var newArr = arr.map(function(item, index, array){ return item+1; }); console.log(newArr); //[2,3,4] console.log(arr); //[1,2,3]
3、Array.prototype.reduce()
reduce()
方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值。
语法:
arr.reduce(callback,[initialValue])
参数
callback
执行数组中每个值的函数,包含四个参数
previousValue
- 上一次调用回调返回的值,或者是提供的初始值(initialValue)
currentValue
- 数组中当前被处理的元素
index
- 当前元素在数组中的索引
array
- 调用
reduce
的数组
initialValue
- 作为第一次调用 callback 的第一个参数。
回调函数第一次执行时,previousValue
和 currentValue
可以是一个值,如果 initialValue 在调用 reduce 时被提供,那么第一个 previousValue 等于 initialValue ,并且currentValue 等于数组中的第一个值;
如果initialValue 未被提供,那么previousValue 等于数组中的第一个值,currentValue等于数组中的第二个值。
[1,2,3,4].reduce(function(prev, cur, index, array){ console.log(prev+‘=‘+cur); return prev+ cur; });
结果:
1=2
3=3
6=4
10
[1,2,3,4].reduce(function(prev, cur, index, array){ console.log(prev+‘=‘+cur); return prev+ cur; }, 10);
结果:
10=1
11=2
13=3
16=4
20
4、Array.prototype.every()
every()
方法测试数组的所有元素是否都通过了指定函数的测试。不会改变原数组。
语法:
arr.every(callback[, thisArg])
参数
callback
- 用来测试每个元素的函数。
thisArg
- 执行
callback
时使用的this
值。
var arr = [1,2,3,6]; arr.every(function(item, index, array){ return item <5; }); // false
5、Array.prototype.indexOf()
indexOf()方法
返回给定元素能找在数组中找到的第一个索引值,否则返回-1。
语法
arr.indexOf(searchElement[, fromIndex = 0])
参数
searchElement
- 要查找的元素
fromIndex
- 开始查找的位置。如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回-1。如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即-1表示从最后一个元素开始查找,-2表示从倒数第二个元素开始查找 ,以此类推。 注意:如果参数中提供的索引值是一个负值,仍然从前向后查询数组。如果抵消后的索引值仍小于0,则整个数组都将会被查询。其默认值为0.
以上是关于数组一些新方法的主要内容,如果未能解决你的问题,请参考以下文章