1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > js 判断数组中是否存在某个元素(字符串 类等)

js 判断数组中是否存在某个元素(字符串 类等)

时间:2023-01-03 12:56:04

相关推荐

js 判断数组中是否存在某个元素(字符串 类等)

方法一:indexOf(item,start)

Item:要查找的值;

start:可选的整数参数,缺省则从起始位子开始查找。

indexOf()返回元素在数组中的位置,如果没有则返回-1,该方法只能查找字符串,数字等,不能查找或者数组或者NaN,如果想 查找 类 或者 数组,可以使用下面介绍的其他方法;

var arr = ['a','b','c','d'];console.log(arr.indexOf('b'));// 1console.log(arr.indexOf('ab')); // -1// 一般情况下判断元素是否存在if(arr.indexOf('查找的元素') > -1){// 元素存在}

方法二:arr.find()

arr.find()的参数是一个回调函数,数组内所有元素会遍历这个回调函数,直到找到第一个返回值为true的元素,然后返回该元素,否则返回undefined。

find()数组中的每一个元素都会调用一次函数,但是当条件返回true时,find()返回符合条件的元素的位置,之后的值不会再调用函数。

var tt = {"id": 2,"name": "test",};var arr = [{"id": 1,"name": "test",},{"id": 2,"name": "test",},{"id": 3,"name": "test",}];var a=arr.find(function(value,index,arr){return value['id'] == tt['id'] && value['name'] == tt['name']});console.log(a);//{id: 2, name: "test"}, 注意:这里返回的不是true,而是返回值为true的这个元素;

方法三:array.findIndex()

findIndex()find()的用法相似,find()返回的是元素,findIndex()返回的是第一个符合条件的数组元素的位置,如果所有元素都不符合条件则返回-1

findIndex()数组中的每一个元素都会调用一次函数,但是当条件返回true时,findIndex()返回符合条件的元素的位置,之后的值不会再调用函数。

for()forEach()的方法就不讲了,遍历后if判断就行

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。