方法一:indexOf(item,start)
Item:要查找的值; start:可选的整数参数,缺省则从起始位子开始查找。
indexOf()
返回元素在数组中的位置,如果没有则返回-1,该方法只能查找字符串,数字等,不能查找 类
或者 数组
或者 NaN
,如果想 查找 类 或者 数组,可以使用下面介绍的其他方法;
var arr = ['a','b','c','d'];
console.log(arr.indexOf('b')); // 1
console.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判断就行
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180460.html原文链接:https://javaforall.cn
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有