-->

要计算对象的对象文本使用jQuery数(To count the number of objects

2019-08-03 19:44发布

码:

var animals = {
                    "elephant": {
                                    "name" : "Bingo",
                                    "age" : "4"
                                },
                    "Lion":     {
                                    "name" : "Tango",
                                    "age" : "8"
                                },
                    "Tiger":    {
                                    "name" : "Zango",
                                    "age" : "7"
                                }
                }

我想指望这个对象文本使用jQuery对象的数量。

Answer 1:

你可以使用Object.keys(animals).length

要么

var count = 0;
for (var animal in animals) {
    if (animals.hasOwnProperty(animal)) {
        count++;
    }
}
// `count` now holds the number of object literals in the `animals` variable

或者很多jQuery的解决方案,可能会或可能不会是最有效的一种:

var count = $.map(animals, function(n, i) { return i; }).length;


Answer 2:

如果你想要的东西跨浏览器,这也是工作IE8,你不能做一个真正干净的方式(见键属性的兼容性 )。

我的建议是:

var n = 0;
for (var _ in animals) n++;

(因为它是一个对象文字,无需hasOwnProperty)



Answer 3:

你不能使用数组?

无论如何,在一个对象,你可以这样做:

Object.prototype.length = function() {
    var count = 0, k=null;
    for (k in this) {
        if (this.hasOwnProperty(k)) count++;
    }
    return count;
}
console.log( animals.length() );


文章来源: To count the number of objects in object literal using Jquery