2012-02-29 63 views
1

我有一个像下面唯一值数

var data = [ 
      ["1"," 101_30.1.101_34","0.0200112629","mm/s","[OK]"], 
      ["1"," 101_30.1.101_35","0.0146548533","mm/s","[OK]"], 
      ["1"," 101_30.1.101_45","0.0146548533","mm/s","[OK]"], 
      ["1"," 101_42.2.101_43","0.0101406257","mm/s","[OK]"], 
      ["2"," 102_17.3.102_38","5.1719756","mm/s","[WA]"], 
      ["2"," 102_17.3.102_39","3.5886707","mm/s","[WA]"], 
      ["2"," 102_17.3.102_44","9.4615074E-4","mm/s","[OK]"], 
      ["2"," 102_40.4.102_41","4.8159785","mm/s","[OK]"], 
      ["3"," 204_15","3.8374166","mA","[OK]"], 
      ["4"," 501_11","1027.5156","RPM","[WA]"] 
      ] 

什么即时试图做的是找到多少独特的阵中还有一个数组。示例1 = 4,2 = 4,3 = 1,4 = 1

数据来自数据库,因此数组的数量总是可以更改。

这里是什么即时通讯的一个简单的jsfiddle谈论JsFiddle

+0

您是否希望只是找到数组的第一个值的副本? – 2012-02-29 16:07:27

+0

...你的问题是? – 2012-02-29 16:07:39

+1

只需遍历数组并计算每个元素的第一个元素的出现次数。 – 2012-02-29 16:08:33

回答

7

尝试是这样的:

var count = {}; 
$.each(data, function(){ 
    var num = this[0]; // Get number 
    count[num] = count[num]+1 || 1; // Increment counter for each value 
}); 
console.log(count); // {1: 4, 2: 4, 3: 1, 4: 1} 
+0

啊优秀!谢谢:) – mario 2012-02-29 16:12:26

+0

@mario:不客气:-) – 2012-02-29 16:13:46

+0

我只能在3分钟内接受答案,但不要担心我会标记它。 – mario 2012-02-29 16:15:08