2012-02-29 83 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