1、fill()
fill() 方法用于将一个固定值替换数组元素。
语法:
array.fill(value,start,end);
参数:
参数 | 描述 |
---|---|
value | 必须。填充值。 |
start | 可选,开始填充位置 |
end | 可选,停止填充位置(默认为arr.length) |
例子:
var arr = [ 1, 2, 3, 4, 5, 6 ];
arr.fill(111,2,4);//[1, 2, 111, 111, 5, 6]
arr.fill(2222);//[2222, 2222, 2222, 2222, 2222, 2222]
注意:fill()方法会改变原数组。
2、find()
find() 方法返回通过函数判断的数组的第一个元素的值。
find() 方法为数组中的每个元素都调用一次函数执行:
- 当数组中的元素在测试条件时返回true时,find() 返回符合条件的元素,之后的值不会再调用执行函数。
- 如果没有符合条件的元素返回 undefined。
语法:
var value = array.find(function(currentValue, index, arr),thisValue);
参数:
参数 | 是否必须 | 描述 |
---|---|---|
function(currentValue,index,arr) | 必须 | 函数,数组中的每个元素都会执行这个函数 |
thisValue | 可选 | 对象作为该执行回调时使用,传递给函数,用作 “this” 的值。如果省略了 thisValue ,“this” 的值为 “undefined” |
返回值:
返回符合测试条件的第一个数组元素值。
例子:
var arr = [ 1, 2, 3, 4, 5, 622 ];
arr.find(function(age){return age > 5});
//622
注意:find()方法对于空数组,函数是不会执行的,并不会改变数组的原始值。
3、findIndex()
findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
findIndex() 方法为数组中的每个元素都调用一次函数执行:
- 当数组中的元素在测试条件返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
- 如果没有符合条件的元素返回 -1
语法:
var index = array.findIndex(function(currentValue, index, arr), thisValue);
返回值:
返回符合测试条件的第一个数组元素的索引位置。
例子:
var arr = [ 1, 2, 3, 4, 5, 622, 21 ];
arr.findIndex(function(age){return age > 5});
//5
arr.findIndex(function(age){return age < 0});
//-1
4、indexOf()
indexOf() 方法可返回数组中某个指定的元素位置。
该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。
如果在数组中没找到指定元素则返回 -1。
语法:
var index = array.indexOf(item,start);
参数:
参数 | 描述 |
---|---|
item | 必须,查找的元素 |
start | 可选的整数参数,规定在数组中开始检索的位置。 |
例子:
var arr = ['张三','李四','劳务','老五','老七'];
arr.indexOf('李四');//1
5、lastIndexOf()
lastIndexOf() 方法可返回一个指定的元素在数组中最后出现的位置,从该字符串的后面向前查找。
语法:
var index = array.lastIndexOf(item,start);
例子:
var arr = ['张三','李四','劳务','老五','老七'];
arr.lastIndexOf('老五');//3