0
我從來沒有深入瞭解return
,直到我玩了一些代碼並且遇到了這個不錯的結果。
var x = [{a:2}, {a:4}, {b:4}]
當我改變對象內的某些值時,我發現3種不同種類的return
具有相同的響應。我知道它爲什麼這樣做,但不是在很低的機器級別上。任何人都可以解釋爲什麼這3 return
返回相同的東西,當我應該小心這一點?在陣列中改變對象時類似的`return`值
x.forEach((elem) => {
if (elem.a === 2) {
elem.a = 4
}
})
x.forEach((elem) => {
if (elem.a === 2) {
elem.a = 4
return elem
}
})
x.forEach((elem) => {
if (elem.a === 2) {
elem.a = 4
}
return elem
})
=> x is always [{a: 4}, {a: 4}, {b: 4}]
我有一種感覺這是由於forEach
,但不能確定。感謝閱讀:D
是的,原因是'forEach'忽略你返回的值。不,不同的片段不會返回相同的內容。 – Bergi
我可能在這裏是錯的,但是,這聽起來像forEach正在變異的元素,這不必與返回。 – Hodrobond
@Bergi是的,所有三個片段都返回與我所提到的數組x相同的值。 – Jamie