Uncaught TypeError: Object.keys appelé sur un non-object lors d’une tentative d’access à un object

J’essaie d’accéder à un tableau à l’intérieur d’un object à l’aide de Object.keys(obj.arr)); méthode. Si j’accède directement à array comme ci-dessous, cela donnera un résultat correct:

  alert(Object.keys(obj.arr)); 

mais si je passe le nom du tableau en utilisant un paramètre, alors il donne une erreur:

 var selected = "arr"; alert(Object.keys(obj.arr)); error : Uncaught TypeError: Object.keys called on non-object 

Il y a exemple: DEMO

Si vous avez besoin d’un access dynamic aux propriétés, vous ne pouvez pas utiliser .value . Cela consiste toujours à accéder littéralement à la clé nommée "value" . Si vous souhaitez accéder à une propriété avec le nom de clé contenu dans la variable value vous devez utiliser des crochets: obj[value]

Démo corrigée: http://jsfiddle.net/Lv6TY/7/

 console.log("Variable Pass "+Object.keys(groups[selected]));