似乎已经有很多关于计算元素数量的类似问题,但我无法用我的问题来实现它们。
在 jquery ajax 之后,我得到返回的 JSON 数据,看起来像这样
Object {0: Object, 1: Object , xxxx:"asdf" ,yyyy:"asdf", zzzz:"asdf"}
我想获取此 { } 大括号之间的对象数量(不包括那些 xxx,yyy 元素)
我尝试了 .length
但不起作用
我也尝试过使用这个Length of a JavaScript object但它返回每个对象中的元素数量。我只想要对象的数量
谢谢
最佳答案
试试这个:
var json = { 0: {}, 1: {}, xxxx: "asdf", yyyy: "asdf", zzzz: "asdf" };
function typeOf( obj ) {
return ({}).toString.call( obj )
.match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
var total = 0;
for ( var o in json ) {
if ( typeOf( json[o] ) == 'object' ) {
total++;
}
}
console.log( total ); //=> 2
JavaScript 中一切都是对象。 typeof
运算符具有误导性,在这种情况下不起作用。您可以使用我从这篇博文中提取的上面的 typeOf
函数:Fixing the JavaScript typeof operator (值得一读)。还有其他方法可以做到这一点,但这似乎是最简单的。
关于javascript - 计算另一个对象中对象的数量,javascript-json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13889852/