JavaScript数组方法之 —— fill()、find()、findIndex()、indexOf()、lastIndexOf()

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
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值