根据条件汇总javascript分组对象中的值

时间:2019-09-10 16:58:40

标签: javascript arrays javascript-objects

我正在使用IE 11。

我有一个使用lodash库分组的对象数组。我希望能够查询对象,并根据某些条件得出总和/计数。例如,我有这个对象数组。

Object Array

我想在下面看到结果,但是在上面的图像之类的对象中 enter image description here

如您所见,根据以下条件,组中的每个公司都应具有某些值

“ x公司”的总计数大于3的次数是多少? “ x公司”有多少次期望资金等式“是”> “ x公司”对OnIKNS eq的“否”进行了多少次资助?

最近几天我尝试了很多,但没有成功。我首先声明了2个数组,以便可以捕获公司名称和程序的唯一值。我还创建了一个对象,在满足条件时进行更新。我唯一能获得的成功就是将其保存在一个分组的对象中。新对象中的所有值都不正确。

以下是代码摘录:

public static String alternatingCaps(String s) {
    return IntStream.range(0, s.length())
           .mapToObj(idx -> String.valueOf(idx % 2 == 0 
                           ? Character.toUpperCase(s.charAt(idx)) 
                           : Character.toLowerCase(s.charAt(idx))))
           .collect(Collectors.joining(""));
}

我得到了错误,

  

TypeError:myData [company]不可迭代

这里是pen

的链接

我仍然希望结果位于对象数组中,因此以后可以创建html表。任何帮助将非常感激。谢谢!

1 个答案:

答案 0 :(得分:1)

您的代码无法正常工作,因为您正在使用myData,数组,访问myData[company],对象(公司为0、1 ...),并且您无法进行迭代通过带有for...of的对象。 myData在屏幕快照中绝对不是同一对象。

如果您的myData对象是屏幕截图中的对象,则您的代码摘录可能有用。