js中数组操作之includes&&indexOf

本文详细介绍了JavaScript中数组的方法includes和indexOf的使用方法及区别。includes用于判断数组中是否包含指定元素,并返回布尔值;而indexOf则返回指定元素在数组中首次出现的位置。文章通过实例说明了两者在处理不同数据类型时的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

includes

Array.includes(searchElement[, fromIndex])
参数:
(1)searchElement: 必填,需要查找的元素,
(2)fromIndex: 非必填,默认是0,从该索引处开始搜索。如果是正值,且formIndex >= Array.length,则必定搜索不到结果。如果是负值,且0 <= (Array.length+formIndex) < Array.length,则从(Array.length+formIndex)开始搜索;如果是负值,且(Array.length+formIndex) < 0,则从位置0开始搜索。
返回值:
true(Array中包含searchIndex), false(Array中不包含searchIndex)

[1,2,3].includes(3) //true
[1,2,'3'].includes(3) //false
[1,2,NaN].includes(NaN) //true

这里的包含采用的比较方法是零值相等
可类比字符串搜索匹配的test方法,可以参见我的另外一篇博文字符串搜索匹配之 test&search&indexOf

indexOf

Array.indexOf(searchElement[, fromIndex])
参数:
(1)searchElement: 必填,需要查找的元素,
(2)fromIndex: 非必填,默认是0,从该索引处开始搜索。如果是正值,且formIndex >= Array.length,则必定搜索不到结果。如果是负值,且0 <= (Array.length+formIndex) < Array.length,则从(Array.length+formIndex)开始搜索;如果是负值,且(Array.length+formIndex) < 0,则从位置0开始搜索。
返回值:
元素在Array中第一次出现的位置(Array中包含searchIndex), -1(Array中不包含searchIndex)

[1,2,3].indexOf(3); //2
[1,2,'3'].indexOf(3); //-1
[1,2,NaN].indexOf(NaN); //-1
[1,2,1,NaN].indexOf(1); //0

这里的包含采用的比较方法是严格相等
可以用indexOf方法来获得数组中字符串出现的位置

var arr = [1,2,3,1,2,4,5]
var indices = [];
var searchElement = 1
var id = arr.indexOf(searchElement, 0)
while(id !== -1) {
	indices.push(id)
	id = arr.indexOf(searchElement, id+1)
}
console.log(indices) //[0,3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值