How to find the length of a JSON object
本问题已经有最佳答案,请猛点这里访问。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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个属性等。
迭代数组并获取对象属性名计数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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); |
- "json"对象是错误的术语。
参考"javascript对象的长度",最佳解决方案是:
Object.keys(obj).length
但更好的解决方案是原型对象
1 2 3 | Object.size = function(obj) { return Object.keys(obj).length; } |
可以使用object.keys
1 2 3 | console.log(Object.keys(legend[0]).length)// 3 console.log(Object.keys(legend[3]).length);//4 |