从具有多个约束的另一个对象数组返回唯一对象数组

docwelch

我有一个这样的对象数组:

[{"name" : "Annie", "number" : 25},
{"name" : "Zeus", "number" : 25},
{"name" : "John", "number" : 40},
{"name" : "John", "number" : 32},
{"name" : "Zeus", "number" : 75},
{"name" : "Zeus", "number" : 32} ]

我想对此进行过滤,以便每个唯一名称都有一个实例,并且该实例必须给我最大的数字,该数字应小于或等于40。如果过滤,上述情况将返回:

[{"name" : "Annie", "number" : 25},
{"name" : "John", "number" : 40},
{"name" : "Zeus", "number" : 32} ]

最终数组不必按任何特定顺序排序。

布莱恩·格雷泽扎克(BryanGrezeszak)

使用O(N)解决方案是一个非常简单的挑战。一个函数这样做是这样的:

function solution(A)
{
    var endObj = {};
    for (var i=0, ii=A.length; i<ii; i++)
    {
        var val = A[i];

        if (val.number > 40)
            continue;

        if (!endObj[val.name]) {
            endObj[val.name] = val;
            continue;
        }

        if (endObj[val.name].number < val.number)
            endObj[val.name] = val;
    }

    var endArr = [];
    for (var key in endObj)
        endArr.push(endObj[key]);

    return endArr;
}

我只是通过使用名称作为新对象的键来跟踪名称,然后在完成后将该对象转换为无键数组。

此处的JSfiddle示例:https ://jsfiddle.net/qa7vzvp5/

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript - 如何将多个嵌套数组中的所有对象放入一个新的唯一对象数组

来自分类Dev

当我在同一对象中拥有另一个属性的值时,从对象数组中获取一个Object属性

来自分类Dev

数组中的所有对象(从csv解释)都作为同一对象(最后一个对象)返回

来自分类Dev

localStorage 的唯一对象数组

来自分类Dev

在javascript中基于具有多个数组的另一个对象的过滤来过滤数组

来自分类Dev

将一个对象数组转换为另一个具有不同结构的对象数组

来自分类Dev

通过具有重复键的另一个数组过滤对象数组

来自分类Dev

命令对象上的一个约束可以检查另一对象的结果吗?

来自分类Dev

如何基于另一个对象ID数组过滤具有MongoDB对象ID的对象数组?

来自分类Dev

将 JS 对象数组推送到具有匹配对象键的另一个对象数组

来自分类Dev

如何从具有内部数组的对象数组添加数据到另一个对象数组?javascript

来自分类Dev

Javascript从对象创建唯一对象的数组

来自分类Dev

为什么过滤具有多个条件的对象数组会返回一个空数组?

来自分类Dev

遍历对象数组与另一个对象数组

来自分类Dev

具有构造函数的另一个类中的对象数组

来自分类Dev

根据单个属性从数组获取唯一对象

来自分类Dev

通过属性创建唯一对象数组

来自分类Dev

数组Swift内的唯一对象

来自分类Dev

在Python中创建唯一对象数组

来自分类Dev

收集JavaScript数组中的唯一对象

来自分类Dev

关于对象数组中另一个属性的唯一属性出现次数的计数

来自分类Dev

从另一个数组更新对象数组

来自分类Dev

javascript-根据多个属性在数组中查找唯一对象

来自分类Dev

从同一对象的不同实例中触发另一个实例的函数

来自分类Dev

我如何从具有特定ID的数组中获取对象与另一个数组编号进行比较

来自分类Dev

获取具有数组的对象内的值并与另一个数组比较

来自分类Dev

javascript基于另一个更大的数组创建具有固定长度的对象数组

来自分类常见问题

用另一个数组填充对象数组将返回内存地址

来自分类常见问题

从另一个JSON数组中的JSON数组检索多个JSON对象?

Related 相关文章

  1. 1

    JavaScript - 如何将多个嵌套数组中的所有对象放入一个新的唯一对象数组

  2. 2

    当我在同一对象中拥有另一个属性的值时,从对象数组中获取一个Object属性

  3. 3

    数组中的所有对象(从csv解释)都作为同一对象(最后一个对象)返回

  4. 4

    localStorage 的唯一对象数组

  5. 5

    在javascript中基于具有多个数组的另一个对象的过滤来过滤数组

  6. 6

    将一个对象数组转换为另一个具有不同结构的对象数组

  7. 7

    通过具有重复键的另一个数组过滤对象数组

  8. 8

    命令对象上的一个约束可以检查另一对象的结果吗?

  9. 9

    如何基于另一个对象ID数组过滤具有MongoDB对象ID的对象数组?

  10. 10

    将 JS 对象数组推送到具有匹配对象键的另一个对象数组

  11. 11

    如何从具有内部数组的对象数组添加数据到另一个对象数组?javascript

  12. 12

    Javascript从对象创建唯一对象的数组

  13. 13

    为什么过滤具有多个条件的对象数组会返回一个空数组?

  14. 14

    遍历对象数组与另一个对象数组

  15. 15

    具有构造函数的另一个类中的对象数组

  16. 16

    根据单个属性从数组获取唯一对象

  17. 17

    通过属性创建唯一对象数组

  18. 18

    数组Swift内的唯一对象

  19. 19

    在Python中创建唯一对象数组

  20. 20

    收集JavaScript数组中的唯一对象

  21. 21

    关于对象数组中另一个属性的唯一属性出现次数的计数

  22. 22

    从另一个数组更新对象数组

  23. 23

    javascript-根据多个属性在数组中查找唯一对象

  24. 24

    从同一对象的不同实例中触发另一个实例的函数

  25. 25

    我如何从具有特定ID的数组中获取对象与另一个数组编号进行比较

  26. 26

    获取具有数组的对象内的值并与另一个数组比较

  27. 27

    javascript基于另一个更大的数组创建具有固定长度的对象数组

  28. 28

    用另一个数组填充对象数组将返回内存地址

  29. 29

    从另一个JSON数组中的JSON数组检索多个JSON对象?

热门标签

归档