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