javascript - js 数组的indexOf()可以判断对象数组中的对象有没有在数组中吗?
PHP中文网
PHP中文网 2017-04-11 11:16:40
[JavaScript讨论组]

比如

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

认证高级PHP讲师

全部回复(2)
巴扎黑

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

for(item of arr){
    if(item.name=='Alex'){
        alert('find');
    }
}
怪我咯

对象的数组并不是不能使用 indexOf ,来判断对象在数组的位置。
arr.indexOf({name:"Alex"}) 只是你上面的写法 是让数组 去判断一个 新创建的对象,
所以会得到 -1
例如下面的示例: 演示了如何使用 对象数组的 indexOf
var arr = []
var a = {name:"Alex"};
var b = {name:"Tom"};
arr.push(a,b)
JSON.stringify(arr)
"[{"name":"Alex"},{"name":"Tom"}]"
arr.indexOf(a)
0
arr.indexOf(b)
1
arr.lastIndexOf(a)
0
arr.lastIndexOf(b)
1

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号