Javascript comment trouver le nombre d'enfants dans un objet

Existe-t-il un moyen de trouver le nombre d'enfants dans un objet javascript autre que d'exécuter une boucle et d'utiliser un compteur? Je peux tirer parti de jquery si cela vous aidera. Je fais ceci:

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); } 

Les travaux suivants sont ECMAScript5 (Javascript 1.85)

 var x = {"1":1, "A":2}; Object.keys(x).length; //outputs 2 

Si cet objet est en fait un Array, la longueur vous procurera toujours le nombre d'index. Si vous vous référez à un objet et que vous voulez obtenir le nombre d'attributs / clés dans l'objet, il n'y a aucun moyen que je connaisse à l'autre qu'un compteur:

 var myArr = []; alert(myArr.length);// 0 myArr.push('hi'); alert(myArr.lenght);// 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++;