在我玩一些代码并遇到这个好的捕获之前,我从来没有过return
。{
var x = [{a:2}, {a:4}, {b:4}]
当我在对象中改变一些值时,我发现3种不同的return
的响应相同。我知道它为什么这样做但不是非常低的机器级别。任何人都可以解释为什么这3个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
答案 0 :(得分:0)
这很简单。第一个在操作结束时不返回任何内容。它只是更改值并返回void。第二个返回更改的数组项,第三个也返回最后更改的值,但也是'else'的情况。