Permettez-moi d'expliquer cela, j'ai une chaîne comme ceci:Utilisation. dans un [] pour entrer dans une nouvelle portée
"b.c"
Et un objet comme celui-ci:
a = {
b:{
c:2
}
}
Je voudrais utiliser cette chaîne pour obtenir la propriété c
, mais en utilisant cela ne fonctionne pas:
a["b.c"]
Comment puis-je utiliser la chaîne "b.c"
pour fonctionner comme a.b.c
? (Sans utiliser eval, perfomance est important dans mon cas)
Merci pour la réponse rapide! J'accepterai vos questions quand le SO me le permettra. –
Augmenter l'objet 'Object.prototype' n'est * pas * vraiment une bonne idée, presque tous les objets (y compris les objets hôtes tels que les éléments DOM) en héritent, par exemple si vous utilisez l'instruction' for-in' sur un objet, la propriété 'load' héritée sera énumérée, par exemple:' for (var p in {}) alert (p); Il peut également causer des problèmes avec d'autres bibliothèques, vérifiez [cet exemple] (http://jsbin.com/awalu3/2/edit) avec jQuery et votre fonction. Pourquoi pas une fonction simple comme 'function load (obj, path) {'? – CMS
Solution élégante, également bon point de CMS. +1 les deux. – karim79