通过如下小脚本我希望是去掉JS array中重复的Object,但每次将元素放进hash的时候,key都变成了 '[object Object]',最终导致没有拿到预期的输出,思路应该没有问题,改怎么解决呢?请大人指点一二,谢谢先!
a = [ { a: 'A' }, { b: 'B' }, { a: 'A' } ];
console.log(a);
var hash = {};
for (var i = 0, len = a.length; i < len; i ++) {
var elem = a[i];
hash[elem] = elem;
}
var noDuplicate = [], j = 0;
for (var item in hash) {
noDuplicate[j++] = hash[item];
}
console.log(hash); // { '[object Object]': { a: 'A' } }
console.log(noDuplicate); // [ { a: 'A' } ]
// expected: [ { a: 'A' }, { b: 'B' } ]
p.s. 为什么要支持markdown格式只能发帖后在编辑中才能选择...