我有一个全局对象MyFruits可以有多个属性。它至少有两个属性:苹果和橘子。我需要找出它是否有比这两个更多的属性。javascript测试对象属性
目前,我对MyFruits进行了字符串处理,创建了一个只包含苹果和桔子属性的新对象,并将其串化并比较两个字符串的长度。事情是这样的:
var JsonString1 = JSON.stringify(MyFruits);
var test2 = new Object();
test2.Apples= MyFruits.Apples;
test2.Oranges= MyFruits.Oranges;
var JsonString2= JSON.stringify(test2);
alert(JsonString1.length - JsonString2.length);
现在,它最初看起来像它的工作:如果MyFruits不只包含了两个主要的多个属性,长度的差异会从0
不同还有的Object.keys(obj).length
方法可以计算一个对象的属性数量,但它是新的,并且在所有浏览器中都不支持,所以我不打算使用它。
这是最好的方法吗?让我知道是否有更好的方法。
感谢您的建议。
请参阅:https://github.com/kriskowal/es5-shim – 2012-02-25 22:58:58
您想计算一个对象的属性数量? – 2012-02-25 23:02:56