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

Вы хотите просто найти дубликаты первого значения массива? –

+0

... и на ваш вопрос? –

+1

Просто перебирайте массив и подсчитывайте вхождения первого элемента каждого элемента. –

ответ

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

Ahh отлично !! Спасибо :) – mario

+0

@mario: Добро пожаловать :-) –

+0

Я могу принять ответ только через 3 минуты, но не волнуйтесь, я помечаю его. – mario

Смежные вопросы