关于javascript:如何查找JSON对象的长度

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