2016-12-16 4 views
-6

Im Allgemeinen wird gesagt, dass 'forEach' kein Array zurückgibt, wo 'map' eins zurückliefert. In meinem Fall gibt es jedoch eins zurück. Nachgepostet ist mein Code. Ich bin irgendwie verwirrt. Jede Hilfe würde geschätzt werden..forEach() Javascript Funktion gibt ein Array zurück?

//Code Snippet // 
    var arr = [1, 3, 2]; 
    var arr_temp = []; 

arr.forEach(function (i) { 
    return arr_temp.push(i + i); 
}); 

console.log(arr_temp); 

Ich erhalte die Ausgabe wie: [2,6,4]

+2

es gibt nichts zurück, du einfach darin modifiziert werden Array – charlietfl

+2

Sie drängen in 'arr_temp' und dann' console.log (arr_temp) 'es. Die Rückkehr macht eigentlich nichts. –

+0

Dieser Code beschreibt die Ausgabe, die Sie erhalten, indem Sie diese Werte in Ihr Temp-Array übertragen. Was ist die erwartete Ausgabe? –

Antwort

2

Es gibt nichts zurück. Sie können prüfen, ob durch das Ergebnis der forEach Anrufprotokollierung:

var arr = [1, 3, 2]; 
 
var arr_temp = []; 
 

 
console.log(arr.forEach(function (i) { 
 
    return arr_temp.push(i + i); 
 
})); // undefined 
 

 
console.log(arr_temp); // 2, 6, 4

+0

@Gothodo Aber es gibt die aktualisierten Werte im arr_temp wieder richtig ?? –

+0

@mohanbabu Nein. Es ändert einfach das Array 'arr_temp'. –

+3

@mohanbabu: Nein. Es gibt nichts zurück. ** Sie ** fügen Werte zu 'arr_temp' hinzu, indem Sie 'arr_temp.push (i + i) 'ausführen. Diese Zeile bedeutet wörtlich "füge" i + i "zu dem Array hinzu, das von' arr_temp' "referenziert wird. –

Verwandte Themen