检查对象在数组中是否存在两次

桑德罗科

我有一个包含具有此结构的对象的数组:

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
            }
         }
    });
});

首先,我知道制作字符串并进行比较并不是很好。其次,这将至少记录一次每个项目,因为每个项目彼此比较(=项目将自身与其自身进行比较)。

是否可以(或多或少)快速而可靠地解决此问题?

妮娜·斯科茨(Nina Scholz)

您可以使用哈希表或地图进行计数。如果计数为2或更大,则进行一些操作。作为关键,如果对象始终具有相同的结构,我建议使用字符串化的对象。

var results = [{ AuthorId: 2, Id: 89, caseId: 33 }, { AuthorId: 2, Id: 89, caseId: 33 }],
    hash = Object.create(null);

results.forEach(function (a) {
    var key = JSON.stringify(a);
    hash[key] = (hash[key] || 0) + 1;
    if (hash[key] >= 2) {
        console.log('count of 2 or more of ' + key);
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查对象列表中是否存在数组列表

来自分类Dev

检查元素是否在数组中两次

来自分类Dev

检查数组javascript中是否存在两次值

来自分类Dev

C ++如何检查对象是否在数组中?

来自分类Dev

检查对象数组中的对象中是否存在值

来自分类Dev

检查对象在数组中是否不存在,如果不存在,则将其压入

来自分类Dev

检查对象数组中是否存在值

来自分类Dev

如何检查对象中的字符串在数组中是否唯一

来自分类Dev

如何检查对象中的字符串在数组中是否唯一

来自分类Dev

如何检查对象是否存在于Angular中的对象数组中

来自分类Dev

AngularJS:检查对象中是否存在键/值并构造对象数组

来自分类Dev

如何在javascript中检查对象数组中的索引是否存在?

来自分类Dev

检查数组中是否存在数组?

来自分类Dev

检查数组中是否存在数组

来自分类Dev

检查对象密钥是否存在于对象中

来自分类Dev

检查对象列表中是否存在对象

来自分类Dev

检查对象中是否存在仅名称的对象

来自分类Dev

检查对象树中是否存在对象路径

来自分类Dev

检查对象列表中是否存在对象属性

来自分类Dev

检查对象中是否已存在对象

来自分类Dev

如何快速检查对象数组中是否存在属性值

来自分类Dev

推入之前检查对象是否存在于数组中

来自分类Dev

有什么方法可以检查对象或数组中是否存在空值?摩卡-柴

来自分类Dev

推入之前检查对象是否存在于数组中

来自分类Dev

想要检查对象是否存在于数组中

来自分类Dev

如何使用 lodash 检查对象数组中是否存在元素

来自分类Dev

如何检查对象是否存在于多个数组中

来自分类Dev

检查对象是否在对象数组中-javascript

来自分类Dev

检查对象ID是否在对象ID数组中

Related 相关文章

  1. 1

    检查对象列表中是否存在数组列表

  2. 2

    检查元素是否在数组中两次

  3. 3

    检查数组javascript中是否存在两次值

  4. 4

    C ++如何检查对象是否在数组中?

  5. 5

    检查对象数组中的对象中是否存在值

  6. 6

    检查对象在数组中是否不存在,如果不存在,则将其压入

  7. 7

    检查对象数组中是否存在值

  8. 8

    如何检查对象中的字符串在数组中是否唯一

  9. 9

    如何检查对象中的字符串在数组中是否唯一

  10. 10

    如何检查对象是否存在于Angular中的对象数组中

  11. 11

    AngularJS:检查对象中是否存在键/值并构造对象数组

  12. 12

    如何在javascript中检查对象数组中的索引是否存在?

  13. 13

    检查数组中是否存在数组?

  14. 14

    检查数组中是否存在数组

  15. 15

    检查对象密钥是否存在于对象中

  16. 16

    检查对象列表中是否存在对象

  17. 17

    检查对象中是否存在仅名称的对象

  18. 18

    检查对象树中是否存在对象路径

  19. 19

    检查对象列表中是否存在对象属性

  20. 20

    检查对象中是否已存在对象

  21. 21

    如何快速检查对象数组中是否存在属性值

  22. 22

    推入之前检查对象是否存在于数组中

  23. 23

    有什么方法可以检查对象或数组中是否存在空值?摩卡-柴

  24. 24

    推入之前检查对象是否存在于数组中

  25. 25

    想要检查对象是否存在于数组中

  26. 26

    如何使用 lodash 检查对象数组中是否存在元素

  27. 27

    如何检查对象是否存在于多个数组中

  28. 28

    检查对象是否在对象数组中-javascript

  29. 29

    检查对象ID是否在对象ID数组中

热门标签

归档