javascript - boucle for, j'ai un problème
某草草
某草草 2017-05-19 10:45:58
0
6
733

Il y a un tableau à l'extérieur de la boucle for et un objet à l'intérieur de la boucle for. Chaque fois que la boucle for rend une valeur d'attribut de l'objet égale à l'élément i correspondant du tableau, puis pousse l'objet dans le tableau vide, pourquoi les tableaux vides affichent-ils la même chose ? Oui, cela ne fonctionne pas même si j'enveloppe le for avec une fonction d'exécution de mots

某草草
某草草

répondre à tous(6)
为情所困

Quand vous dites que la dernière partie du nouveau tableau est la même, voulez-vous dire que les éléments du tableau sont tous identiques ? Il devrait s'agir d'un problème de portée, qui devrait être résolu en utilisant des fermetures.

给我你的怀抱

Lorsque vous poussez l'objet dans le corps de la boucle dans le tableau vide, cela se produit-il à l'intérieur du corps de la boucle ou après sa fin, n'est-ce pas le contenu du tableau vide que vous avez mentionné ?

小葫芦
let obj={a:1};
let arr = [{a:1},{a:2},{a:3},{a:1,b:1}];
let arr2 =[];
for(let o of arr){
    if(o.a == obj.a){
        arr2.push(o);
    }
}
console.log(arr2);//arr2=[{a:1},{a:1,b:1}]

Je suppose que la fonction décrite par l'affiche devrait être comme ça. Il n'y a pas de problème de fermeture. L'auteur peut-il publier le code ?

黄舟

J'ai également rencontré ce type de problème auparavant. Après avoir poussé les éléments en boucle d'une collection dans un tableau, j'ai finalement découvert que les éléments du tableau sont tous identiques. La raison n'est pas très claire. La solution est de commencer par pousser. les éléments bouclés dans la copie d'éléments, puis insérez la valeur obtenue par cette copie dans le tableau

 ;
//此处只是随意举个例子
var a=[1,2,3,4,5,6];
var b=[];
for(let o of a)
{
    b.push(o.clone());
}
洪涛

talk n'est pas cher , montre-moi le code

伊谢尔伦

n'a pas envoyé le code, c'est pour brosser un voyou

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal