jquery中的数组元素计数

jquery中的数组元素计数,jquery,Jquery,我有一个类似的数组 [ {date:'1/8/14',code:'AV-502'}, {date:'1/8/14',code:'AV-501'}, {date:'2/8/14',code:'AV-502'}, {date:'2/8/14',code:'AV-501'}, {date:'2/8/14',code:'AV-502'} ] 如何获取日期的每个代码计数,即日期1/8/14AV-502的计数 在jquery中,2/8/14等等也是如此。 需要的结果是 [

我有一个类似的数组

[
   {date:'1/8/14',code:'AV-502'},
   {date:'1/8/14',code:'AV-501'},
   {date:'2/8/14',code:'AV-502'},
   {date:'2/8/14',code:'AV-501'},
   {date:'2/8/14',code:'AV-502'}
]
如何获取日期的每个代码计数,即日期
1/8/14
AV-502的计数 在jquery中,
2/8/14
等等也是如此。 需要的结果是

[
       {date:'1/8/14',code:'AV-502',count:2},
       {date:'1/8/14',code:'AV-501',count:3},
       {date:'2/8/14',code:'AV-501',count:5}
]
试试这个:

var getCount = function (date, code) {
    var count = 0;
    $.each(arr, function (key, val) {
        if (val.date === date && val.code === code) {
            count++;
        }
    });
    return count;
}

//call this function
getCount('1/8/14', 'AV-502');

你循环并数一数

对于如何循环和计数,您有很多选择

除此之外,还有ES5
Array#reduce
功能:

var count = yourArray.reduce(function(prev, entry) {
    return entry.code === "AV-502" ? prev + 1 : prev;
}, 0);

同时给出预期的输出,你已经说过你想要计数,但是你的“需要的结果”是一个数组。是哪一个?这不是一个有效的JS对象。1/8/14等应为字符串否?这不是有效的json数组