鍍金池/ 問答/HTML5  HTML/ 請問這是數(shù)組嗎?是數(shù)組為啥length為0

請問這是數(shù)組嗎?是數(shù)組為啥length為0

     var arr1 = [
            {name: "fcf294131", key: "處理進度", value: "等待處理"},
            {name: "fcf294131", key: "處理進度", value: "正在處理"},
            {name: "fcf294131", key: "處理進度", value: "等待處理"},
            {name: "fcf294131", key: "處理進度", value: "完成"},
            {name: "fcf294131", key: "處理進度", value: "等待處理"}
        ];
        var arr2 = arr1.reduce((all,a)=>{
    if(all[a.value]){
        all[a.value]++
    }else {
        all[a.value]=1
    }
    return all;

},[]);
console.log(arr2);//[等待處理: 3, 正在處理: 1, 完成: 1]
請問這是數(shù)組嗎?
如何變?yōu)檫@樣


  [
        {key:"等待處理",len:3},
        {key:"正在處理",len:1},
        {key:"完成",len:1}
    ]
回答
編輯回答
墻頭草

arr2 = Object.values(arr2)

2017年1月27日 08:10
編輯回答
吢丕

arr2 instanceof Array // true
數(shù)組的length是按最大的數(shù)字索引來的,你這里又沒數(shù)字索引。
而且數(shù)組本身也是對象,是可以添加非數(shù)字的key-value對的

2017年3月13日 06:42
編輯回答
鹿惑

是數(shù)組,數(shù)組是可以添加key值不為number類型的屬性的,但是不計入length計算內(nèi)。
要想遍歷的話,可以通過Object.keys(arr2).forEach(key => {console.log(arr2[key])})來做到。

2017年6月28日 05:21