AI智能
改变未来

JavaScript Array 对象之ES5新增数组高阶方法


1.forEach()遍历

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
语法:

var arr = [\'我\',\'爱\',\'我的\',\'祖国\'];arr.forEach(function(item,index,self){console.log(item,index,self);})

参数:

参数 描述
item 必须,当前元素
index 可选,当前元素的索引值
self 可选,当前元素所属的数组对象

2.map()映射

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
语法:

var arr = [1,3,5];var arr2 = arr.map(function(item,index,self){return item*2;})

参数:

参数 描述
item 必须,当前元素
index 可选,当前元素的索引值
self 可选,当前元素所属的数组对象

3.filter过滤

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
语法:

var arr1 = [2,4,6,7,9,100,999,-4,24];var arr2 = arr1.filter(function(item){return item>10;})

参数:

参数 描述
item 必须,当前元素
index 可选,当前元素的索引值
self 可选,当前元素所属的数组对象

4.reduce()

reduce() 方法接收一个函数作为累加器,将数组中的每个值从左到右相加,最终计算为一个值。
语法:

var arr = [2,4,6,9,99,199];var ret = arr.reduce(function(a,b){return a+b;})

参数:

参数 描述
a 必须,初始值,也是计算结束后的返回值
b 必须,当前元素

5.every()

every() 方法用于检测数组所有元素是否都符合指定条件.
如果数组中检测到有一个元素不满足,则整个表达式返回 false
如果所有元素都满足条件,则返回 true
语法:

var arr = [2,4,6,9,99,199];var ret = arr.every(function(item){return item<120;})

参数:

参数 描述
item 必须,当前元素的值

6.some()

some() 方法用于检测数组中的元素是否满足指定条件。
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
语法:

var arr = [2,4,6,9,99,199];var ret3 = arr.some(function(item){return item>20;})

参数:

参数 描述
item 必须,当前元素的值

7.sort()排序

sort() 方法用于对数组的元素进行排序。
一般情况下通过一个函数作为参数来调用此方法
注意: 此方法会改变原始数组!
语法:

array.sort(function);

参数:

参数 描述
function 可选,规定排序顺序。必须是函数。

eg:数组排序

var arr = [40,100,1,5,25,10];arr.sort(function(a,b){return a-b});

输出结果为:
1,5,10,25,40,100

8.concat()

concat() 方法用于连接两个或多个数组。
语法:

var newArr = arr1.concat(arr2,arr3,...)

参数:

参数 描述
arr2,arr3,… 必须。该参数可以是具体的值,也可以是数组对象。可以是任意多个。

9.includes()

includes() 方法用来判断一个数组是否包含一个指定的值
如果是返回 true,否则false。
语法:

arr.includes(item)

参数:

参数 描述
item 必须。需要查找的元素值。

10.copyWithin()

copyWithin() 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。
语法:

arr.copyWithin(target, start, end)

参数:

参数 描述
target 必须。替换开始位置
start 可选。拷贝开始位置
end 可选。拷贝结束位置

11.fill()填充

fill() 方法用于将一个固定值替换数组的元素。
语法:

array.fill(value, start, end)

参数:

参数 描述
value 必须。填充的内容
start 可选。填充开始位置
end 可选。填充结束位置

12.find()查找

find() 方法返回满足函数条件的数组的第一个元素的值。
语法:

var arr = [1,6,88,45,8000,889];var ret = arr.find(item=>item>100);

参数:

参数 描述
item 必须。当前元素
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » JavaScript Array 对象之ES5新增数组高阶方法