【发布时间】:2016-12-01 10:00:55
【问题描述】:
我有一个包含具有这种结构的对象的数组:
var results = [{
AuthorId: 2,
Id: 89,
caseId: 33 //some key
},...];
现在,我想检查这个数组中的对象是否存在 2 次或更多次,并将它们记录在控制台中。
我的做法:
$.each(results, function (i, result) {
var stringRes = result.AuthorId + ";" + result.caseId;
$.each(results, function (j, toTest) {
if (j <= results.length - 2) {
var stringToTest = results[j + 1].AuthorId + ";" + results[j + 1].caseId;
if (stringToTest == stringRes) {
console.log(result.Id);
//some function to do something with duplicates
}
}
});
});
首先,我知道制作字符串并比较它们并不是很好。其次,这将至少记录每个项目一次,因为每个项目都会相互比较(= 项目将自身与自身进行比较)。
这是否可以通过(或多或少)快速可靠的方式解决?
【问题讨论】:
标签: javascript arrays loops compare javascript-objects