javascript - La méthode Shift() de JS n'est pas valide?
滿天的星座
滿天的星座 2017-07-05 10:45:34
0
4
1053

Comme mentionné, le code est le suivant :

<ul class="demo">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
</ul>
<script>
    var l = document.getElementsByClassName("demo")[0];
    var a = l.children;
    var r=a.shift();
    console.log(r);//报错:a.shift is not a function?
</script>

Les objets de type tableau ne peuvent pas appeler l'API de la méthode shift ?

滿天的星座
滿天的星座

répondre à tous(4)
扔个三星炸死你

Le tableau de classes n'est pas un tableau et il n'y a pas d'API associée qui hérite du tableau
Vous pouvez utiliser call ou apply pour le lier,
Par exemple

.
var r = [].shift.call(a)

ps : shift implique également d'opérer le contenu du tableau. Je viens de l'essayer et j'ai forcé l'utilisation de call pour décaler l'objet tableau. Il signalera que la longueur de l'objet associé ne peut pas être modifiée. Si cela implique également un traitement DOM, il est recommandé d'utiliser les opérations DOM associées, par exemple, removeChild ne sera pas développé. Des informations pertinentes sur les objets de tableau DOM peuvent être trouvées dans mdn, par exemple : https://developer.mozilla.org...

代言

Shift modifiera le tableau d'origine, entraînant la modification de la propriété length, mais length est en lecture seule. Il peut être utilisé des manières suivantes.

<ul class="demo">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
</ul>
</body>

<script>
    var l = document.getElementsByClassName("demo")[0];
    var a = l.children;
    var arry = [...a];
    var r=arry.shift();
    console.log(r);
</script>
大家讲道理

Bien sûr, shift est une méthode de tableau. Vous pouvez d'abord convertir le tableau de classe en tableau, puis l'appeler
Array.prototype.slice.call(arraylike);

.
学霸

console.log(a)
Vous pouvez voir : __proto__:HTMLCollection Il n'y a pas de méthode shift dans HTMLCollection.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!