2
Pourquoi ce retour: tracker.paramsToTrack est indéfiniAide ajouter nouvelle propriété objet littéral
var tracker = {};
var paramsToTrack = ['a', 'b', 'c', 'd', 'e'];
for (p in paramsToTrack)
{
if(params[paramsToTrack[p]])
{
tracker.paramsToTrack[p] = params[paramsToTrack[p]];
}
}
console.log(tracker);
Je vérifie essentiellement params si « a » par « e » sont présents. Si oui, ajoutez à l'objet de suivi comme ceci:
tracker.a = substance
tracker.b = substance
pensées sur ce que je fais mal ici?
ked! Pourquoi la notation par points ne fonctionne-t-elle pas par curiosité? – doremi
La notation par points traite littéralement le nom de la propriété. Vous demandez essentiellement la propriété "paramsToTrack" du tracker. Vraiment ce que vous voulez, c'est que l'expression paramsToTrack [p] soit évaluée, et que le résultat soit traité comme le nom de la propriété. –
@Joshua McGinnis: Les deux notations suivantes sont équivalentes: 'obj ['property']' et 'obj.property'. Vous pouvez utiliser des variables avec la notation précédente uniquement. – jwueller