var legend=[{"min":0,
"max":first_color,
"color":"#1a9850"
},
{
"min":first_color,
"max":sec_color,
"color":"#fee08b"
},
{
"min":sec_color,
"max":thrd_color,
"color":"#ff3300"
},
{
"min":thrd_color,
"max":frth_color,
"color":"#d73027"
"Abc":"gsfg"
}
];
我想知道每个对象的属性数。例如。前3个对象有3个属性,第4个有4个道具等。
答案 0 :(得分:5)
遍历数组并获取对象属性名称。
var legend = [{
"min": 0,
"max": 'first_color',
"color": "#1a9850"
}, {
"min": 'first_color',
"max": 'sec_color',
"color": "#fee08b"
}, {
"min": 'sec_color',
"max": 'thrd_color',
"color": "#ff3300"
}, {
"min": 'thrd_color',
"max": 'frth_color',
"color": "#d73027",
"Abc": "gsfg"
}];
var res = legend.map(function(v) {
console.log(Object.keys(v).length);
return Object.keys(v).length;
});
console.log(res);

答案 1 :(得分:3)
参考' Length of a JavaScript object',最佳解决方案是:
Object.keys(obj).length
但更好的解决方案是原型Object
Object.size = function(obj) {
return Object.keys(obj).length;
}
答案 2 :(得分:1)
你可以使用Object.keys
console.log(Object.keys(legend[0]).length)// 3
console.log(Object.keys(legend[3]).length);//4