计算对象中的数组并替换

时间:2016-02-23 04:35:20

标签: javascript arrays angularjs object

我目前有一个返回此对象的对象:

Object {1: 0, 2: Array[2], 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0, 11: 0, 12: 0}

我要做的是'替换' "数组[2]"只有数字" 2" (计算数组中的记录数)

3 个答案:

答案 0 :(得分:3)

这是代码

var obj = {1: 0, 2: [0, 1], 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0, 11: 0, 12: 0};

Object.keys(obj).forEach(function(key) {
    if (Array.isArray(obj[key])) {
        obj[key] = obj[key].length;
    }
});

答案 1 :(得分:0)

试试这个:

Object.keys(your_object).forEach(function(index){
    if (toString.call(your_object[index]) === '[object Array]') {
        your_object[index] = your_object[index].length;
    }
});

答案 2 :(得分:0)

您可以这样做将所有数组转换为它的等效长度。

for( var key in obj ) {

  if( obj[key] instanceof Array ) {
    obj[key] = obj[key].length;
  }

}