gpt4 book ai didi

javascript - 对 .reduce() 方法中的某些东西感到困惑(Javascript)

转载 作者:行者123 更新时间:2023-11-30 15:16:13 26 4
gpt4 key购买 nike

在我在 Javascript 中使用 reduce 方法的下一个函数中,我不明白为什么在我的 if 语句(在我的 reduce 方法内)中使用“current”或“array[index]”时会得到不同的结果。

current 和 array[index] 不是一回事吗?

function pairwise(arr, arg) {

return arr.reduce(function(acc,current, index, array){
for(var i=index+1;i<array.length; i++){
if(current+array[i]===arg){
acc += index+i;
array[index]=array[i]=NaN;
}
}

return acc;
}, 0)

}

谢谢!!

最佳答案

你是说在这一行?

array[index]=array[i]=NaN;

如果你赋值给array[index],你就是在修改数组。
如果您分配给 current,您只是覆盖局部变量 current,但这不会对该值来自的数组产生任何持久影响。

let arr = [1, 2, 3],
current = arr[0];

current = 42; // obviously does not modify arr
arr[0] = 42; // obviously modifies arr

关于javascript - 对 .reduce() 方法中的某些东西感到困惑(Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44430464/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com