Aus irgendeinem Grund das Verfahren getTwo()
innerhalb des PollClass
nicht 2
aber undefined
zurück. Wenn ich die return
-Anweisung außerhalb der .forEach()
-Schleife setze, wird ein Wert jedoch zurückgegeben.ES6 Klassenmethoden Rückkehr nichts innerhalb forEach Schleife
class Poll {
constructor(name) {
this.name = name;
this.nums = [1, 2, 3];
}
getTwo() {
this.nums.forEach(num => {
if (num === 2) return num;
})
}
}
const newPoll = new Poll('random name');
console.log(newPoll.getTwo()); // returns undefined, not 2
Ist dies ein Problem mit der Schließung, ES 6, oder ein ganz anderes Problem?
Es ist nicht klar, was Sie zurückkommen wollen, wenn 'this.nums' hat keine 2 oder wenn es hat mehr als nur eine 2. In jedem Fall solltest du besser '.some' anstelle von' forEach' verwenden. – raina77ow
'forEach' wird nichts zurückgeben. Es ist keine 'for'-Schleife – Redu
*" Ist das ein Problem mit Schließung, ES 6 oder einem ganz anderen Problem? "* Weder. Innere Funktionen können die äußere Funktion nicht dazu bringen, etwas zurückzugeben. –