我可以在没有任何循环的情况下计算我的 JSON 属性吗?

Can I count my JSON properties without any loop?

我有这个问题。我有数以千计的具有不同属性的数据,我需要输入它们的属性以及这些属性重复了多少。例如;

0:[
  variants:{
    "color":"blue"
    "size":"3"
  }
]
1:[
   variants:{
     "color":"blue"
     "size":"2"
    }
  ]
2:[
  variants:{
    "color":"red"
    "size":"2"
  }
]


color=>blue (2)
color=>red (1)

size=>2(2)
size=>3(1)

但显然有数千条数据。

如果用loop来计算,性能会不会受影响?。我可以不用任何循环来计算它吗?另一件事是我有 500 个而不是 2 个属性(颜色和大小)。

要计算这些属性,您必须遍历整个对象。如果不迭代整个对象,则无法检查此对象的每个 属性。即使您使用看起来不像循环的东西,例如 for 语句,它仍然会迭代整个对象,因此您对性能的影响不大。如果你不想直接使用循环,你可以使用一些内置的迭代器或者 lodash 来做。