我目前有一个返回此对象的对象:
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" (计算数组中的记录数)
答案 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;
}
}