So reorganisieren Sie ein Array anhand des Werts der for-Schleife in JavaScript und Angular2
滿天的星座
滿天的星座 2017-06-26 10:54:04
0
5
674

Zum Beispiel habe ich ein Array

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

Wie verwende ich eine for-Schleife in JS, um nur die Werte zu erhalten, die als wahr ausgewählt wurden?

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

Das Obige für China gibt immer noch 3 Zeichenfolgen aus. Und ich brauche nur das Format [„Tony“, „Liyang“], wie bekomme ich es?
Ich habe bereits versucht, Push zu verwenden, um etwas zu einem leeren Array hinzuzufügen, aber jedes for im Push verschiebt nur den aktuell von for erreichten Wert und fügt nicht alle Werte zu einem Array hinzu!
Bitte hilf mir, Gott!

滿天的星座
滿天的星座

Antworte allen(5)
typecho
if(arry[i].selected=true)

这里错了,写成了赋值。

Ty80

一个=是赋值,两个=是比较,楼主下次写的时候细心点,有时候逻辑没问题,但就是运行不起来,那么可能是哪个位置语法有问题了。

typecho

直接用arry[i].selected判定就好了,为啥要判断值是否相等啊?

typecho
var newArr = []
arry.forEach(function(value){if(value.selected) newArr.push(value.name)})
给我你的怀抱

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);

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!