【发布时间】:2017-09-24 18:30:58
【问题描述】:
我有一个对象数组。我试图在这个数组中定位一个对象的索引,但是它总是返回-1,除非我“作弊”。我看不到这里的区别,它 console.logs 两种方式完全相同的输出。它只能以一种方式工作......这是一个错误吗?
var arr = [{ un: 'test', uid: 1 }];
console.log("array",arr,typeof arr);
var obj = { un: 'test', uid: 1};
console.log("obj",obj);
console.log(arr[0],typeof arr[0]);
console.log("indexOf",arr.indexOf(obj));
arr.push(obj);
console.log(arr);
console.log("indexOf",arr.indexOf(obj));
输出是这样的:
array [ { un: 'test', uid: 1 } ] object
obj { un: 'test', uid: 1 }
{ un: 'test', uid: 1 } 'object'
indexOf -1
[ { un: 'test', uid: 1 }, { un: 'test', uid: 1 } ]
indexOf 1
对于我的生活,我看不出这里有什么不同。我在这里错过了一些简单的东西吗?有可能...考虑到编码的时间,简单的事情会被忽略。
【问题讨论】: