让我详细解释一下.我跟下了一个物体 -
{
"OBJECT1" : {
"NAME1" : "VALUE1",
"NAME2" : "VALUE2",
"NAME3" : "VALUE3"
},
"OBJECT2" : {
"NAME4" : "VALUE4",
"NAME5" : "VALUE5"
}
}
Run Code Online (Sandbox Code Playgroud)
从这个对象,我想得到像OBJECT1 = 3中的元素数量和OBJECT2 = 2中的元素数量.如果有可能使用javascript.基本上我要做的是,动态地遍历对象中可用的名称值对,这样如果有人向对象添加另一个元素,我就不必更改我的代码.
也排除了任何替代方案,因为我被允许仅在我的用例中使用对象.
在不转换对象的情况下,您可以遍历对象计数属性,如下所示:
function countObjectProperties(obj)
{
var count = 0;
for(var i in obj)
if(obj.hasOwnProperty(i))
count++;
return count;
}
Run Code Online (Sandbox Code Playgroud)
扩展你需要使用hasOwnProperty的原因,正如我在下面的评论中所说,你可能遇到一个问题,其中库或浏览器已经向Objects添加了方法和属性,为了避免计算这些问题,我们在计算之前检查hasOwnProperty.有关MSDN或Mozilla开发人员中心的更多详细信息
| 归档时间: |
|
| 查看次数: |
6857 次 |
| 最近记录: |