首页 > js 数组的indexOf()可以判断对象数组中的对象有没有在数组中吗?

js 数组的indexOf()可以判断对象数组中的对象有没有在数组中吗?

比如

var arr=[{name:"Alex"},{name:"Tom"}];
arr.indexOf({name:"Alex"});

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf#Polyfill

MDN官方文档上的 Polyfill 里是 === 比较的,所以不能满足你的需求。

      if (k in O && O[k] === searchElement) {
        return k;
      }

Array.prototype.findIndex Array.prototype.find 值得你拥有。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find


利用indexOf是判断不了的,返回-1,楼主可以循环判断:

for(item of arr){
    if(item.name=='Alex'){
        alert('find');
    }
}
【热门文章】
【热门文章】