0

我试图弄清楚以下对象中有多少属性。显然,我可以看到 2,但我需要动态知道。

var test = $.parseJSON('{ "ddSize": "Size", "ddColor": "Color" }');

如果我尝试:

var mylen = test.length;

.length 未定义。此对象中的属性数量将发生变化。有时是 1,有时是 2 或 3,但我就是不知道如何测试它。

4

1 回答 1

3

这是一个 JavaScript JSON 对象。length功能不可用。

纯 JavaScript 的第一个解决方案:

var data = $.parseJSON('{ "ddSize": "Size", "ddColor": "Color" }'); 
var keys = [];
for (key in data) {
  keys.push(key);
}
// numberOfKeys should equal to 2
var numberOfKeys = keys.length;

如果您更喜欢 jQuery,则第二种解决方案:

var data = $.parseJSON('{ "ddSize": "Size", "ddColor": "Color" }');
var keys = [];
$.each(data, function(key, value) {
  keys.push(key)
});
// numberOfKeys should equal to 2
var numberOfKeys = keys.length;

jQuery.each 函数的文档

于 2012-07-06T21:36:57.977 回答