统计数组中同一元素重复的个数

605 阅读1分钟
function computeCount(arr){
    //记录元素出现的顺序,存放不重复的元素
    var res = [];
    //统计次数
    var resdetail = [];
    for(var i = 0; i < arr.length; i++){
//结果集中已经存在的情况下直接让它的value++
        if((index = res.indexOf(arr[i])) !== -1){
            resdetail[index].value++;
        }else{
//结果集中不存在的情况下,传建一个对象,并把它填入结果集中,同时把该元素也填入res中
            var obj = {
                key:arr[i],
                value:1
            };
            res.push(arr[i]);
            resdetail.push(obj);
        }
    }
    console.log(resdetail);
    return resdetail;

}
var arr = [1,2,3,4,5,5,4,3,2,1];
computeCount(arr);