我可以无循环地计数JSON属性吗?

时间:2018-09-05 20:40:08

标签: javascript arrays json loops counting

我有这个问题。我有成千上万个具有不同属性的数据,我需要放置它们的属性以及重复多少个这些属性。例如;

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)

但是显然有成千上万的数据。

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

1 个答案:

答案 0 :(得分:2)

要计算这些属性,您将必须遍历整个对象。您不能在不迭代整个对象的情况下检查该对象的每个属性。即使您使用看起来像不是循环的东西(如for语句),它仍然会迭代整个对象,因此对于性能而言,您做得并不多。如果您不想直接使用循环,则可以使用一些内置的迭代器,也可以使用lodash来实现。