recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Dans la boucle js for in, en utilisant la méthode push du tableau pour obtenir les propriétés de l'objet, le résultat est que le tableau n'est pas modifié

Comme mentionné
Je ne veux pas utiliser getOwnPropertyNames de jquery

var getProperty = function(obj) {
    var nArr = [];
    for (var i in obj) {
        nArr.push[i];
    }
    console.log(nArr);
    return nArr;
}
getProperty({a:1,b:2})

Le résultat final renvoyé est [];
Si remplacé par

var getProperty = function(obj) {
    var nArr = [],
        k = 0;
    for (var i in obj) {
        nArr[k] = i;
        k++;
    }
    console.log(nArr);
    return nArr;
}
getProperty({a:1,b:2});

peut renvoyer le résultat correct ['a','b'], pourquoi

扔个三星炸死你扔个三星炸死你2785 Il y a quelques jours875

répondre à tous(3)je répondrai

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-07-05 10:59:43

    nArr.push(i)
    Mauvais crochets ! ! ! !

    répondre
    0
  • 阿神

    阿神2017-07-05 10:59:43

    JS for in présente le piège de hasOwnProperty.
    Si vous souhaitez revenir ['a', 'b'], il suffit de :

    Object.keys(obj)

    C'est tout (prend en charge IE9+).

    répondre
    0
  • typecho

    typecho2017-07-05 10:59:43

    nArr.push[i]; Êtes-vous sûr qu'il n'y aura pas d'erreur lors de l'exécution de cette opération ?

    répondre
    0
  • Annulerrépondre