我正在尋找基於不同數組內相同對象的出現來創建計數數組。到目前爲止,我的代碼看起來是這樣的:計數數組對象的出現
var dates = [];
$.each(items, function (i, item) {
dates.push(item.date);
});
返回:
['2013/03', '2013/03', '2012/01', '2012/11', '2012/09', '2012/09', '2012/09']
在那之後,我想有一個數組,看起來像這樣結束了:
[2,1,1,3]
任何幫助將不勝感激!
不應該'計數器'是一個對象,而不是一個數組。這項行動的結果將不是OP要求的。它不會是'[2,1,1,3]',因爲它們是索引爲'0','1','2'等的實際數組項。 – jfriend00 2013-05-01 00:41:04
@ jfriend00'counters'可以被聲明爲一個對象,但它並沒有真正改變太多,因爲數組是一個對象,並且我沒有調用'counters.length',它會返回零長度,但我會改變爲了清楚起見。 = D此外,如果你說'counters'不具有OP後面的格式,但是如果你看一下'finalCounts',那個變量將包含'[2,1,1,3]'就像OP提供的jsfiddle所要求的那樣。 – 2013-05-01 01:25:22
您的'finalCounts'版本沒有任何特定的保證順序。因爲對象中的迭代鍵沒有保證順序。我在回答中遇到了更多麻煩的原因是爲了保證輸出數組的順序與原始數據中鍵的順序相匹配。 – jfriend00 2013-05-01 04:34:17