JavaScript Array 对象之ES5新增数组高阶方法
2020-08-11 20:35
260 查看
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 | 必须。当前元素 |
相关文章推荐
- JavaScript高级—包括:构造函数和原型(原型对象prototype和对象原型__proto__)、继承(call()、继承父类的属性和方法)、ES5新增的方法(数组方法、字符串方法、对象方法)
- Array数组常用方法、ES5扩展方法、ES6新增方法
- es5新增的数组方法
- es6 Array数组对象新增方法 Array.of()
- ES5中数组新增的方法说明
- ES6中新增数组方法与ES5之间的区别
- ES5数组新增方法
- es5新增数组方法
- ES5中新增的数组方法
- ES5中新增的数组方法forEach()、filter()、some()
- 数组ES5新增遍历迭代的方法及其区别
- 聊一聊ES5数组(Array)新增的那些方法
- Es5新增数组和对象
- es5中js的数组 新增方法总结
- es5中新增的数组方法
- es5 新增数组方法
- es5严格模式--数组新增方法
- 前端学习——ES5新增数组方法(通过价格和名称查询)
- es6 数组对象新增方法 Array.from()将两类对象转为真正的数组
- ES5新增方法(数组的方法、trim、Object.keys(obj)等)