javascript как найти количество детей в объекте
есть ли способ найти количество детей в объекте javascript, кроме запуска цикла и использования счетчика? Я могу использовать jquery, если это поможет. Я делаю это:
var childScenesObj = [];
var childScenesLen = scenes[sceneID].length; //need to find number of children of scenes[sceneID]. This obviously does not work, as it an object, not an array.
for (childIndex in scenes[sceneID].children) {
childSceneObj = new Object();
childSceneID = scenes[sceneID].children[childIndex];
childSceneNode = scenes[childSceneID];
childSceneObj.name = childSceneNode.name;
childSceneObj.id = childSceneID;
childScenesObj .push(childSceneObj);
}
2 ответов
следующие работы в ECMAScript5 (Javascript 1.85)
var x = {"1":1, "A":2};
Object.keys(x).length; //outputs 2
если этот объект на самом деле является массивом, .длина всегда даст вам количество индексов. Если вы ссылаетесь на объект, и вы хотите получить количество атрибутов / ключей в объекте, я не знаю другого способа, кроме счетчика:
var myArr = [];
alert(myArr.length);// 0
myArr.push('hi');
alert(myArr.length);// 1
var myObj = {};
myObj["color1"] = "red";
myObj["color2"] = "blue";
// only way I know of to get "myObj.length"
var myObjLen = 0;
for(var key in myObj)
myObjLen++;