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

Comment réorganiser un tableau à partir de la valeur de la boucle for en JavaScript et angulaire2

Par exemple, j'ai un tableau

let arry = [
{"selected":true,"name":"Tony"},
{"selected":false,"name":"Lily"},
{"selected":true,"name":"Liyang"}];

Comment utiliser une boucle for en JS pour obtenir uniquement les valeurs sélectionnées pour être vraies ?

for(var i=0;i<arry.length;i++){
    if(arry[i].selected=true){
        console.log(arry[i].name)
    }
}

Ce qui précède pour la Chine imprime toujours 3 chaînes. Et je n'ai besoin que du format ["Tony","Liyang"], comment puis-je l'obtenir ?
J'ai déjà essayé d'utiliser push pour ajouter à un tableau vide, mais chaque for dans le push ne pousse que la valeur actuellement atteinte par for et n'ajoute pas toutes les valeurs à un tableau !
S'il te plaît, aide-moi, mon Dieu !

滿天的星座滿天的星座2672 Il y a quelques jours681

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

  • typecho

    typecho2017-06-26 10:56:04

    if(arry[i].selected=true)

    C'est faux, c'est écrit comme un devoir.

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-26 10:56:04

    Un = est une affectation, et deux = est une comparaison. Veuillez être plus prudent lors de l'écriture la prochaine fois. Parfois, la logique est bonne, mais cela ne fonctionne tout simplement pas. Il se peut alors qu'il y ait un problème de syntaxe quelque part.

    répondre
    0
  • typecho

    typecho2017-06-26 10:56:04

    Utilisez simplement arry[i].selected pour déterminer Pourquoi devons-nous déterminer si les valeurs sont égales ?

    répondre
    0
  • typecho

    typecho2017-06-26 10:56:04

    var newArr = []
    arry.forEach(function(value){if(value.selected) newArr.push(value.name)})

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-06-26 10:56:04

    Comme c'est pratique à gérer avec filtermap

    let arry = [
        { "selected": true, "name": "Tony" },
        { "selected": false, "name": "Lily" },
        { "selected": true, "name": "Liyang" }
    ];
    
    let selected = arry.filter(m => m.selected);
    
    console.log("selected", selected);
    
    let names = selected.map(m => m.name);
    console.log("names", names);
    
    // 连起来
    
    let result = arry
        .filter(m => m.selected)
        .map(m => m.name);
    console.log("result", result);

    répondre
    0
  • Annulerrépondre