小编xng*_*tng的帖子

JavaScript - 数组通过引用传递,但在重新分配时丢失

在下面的JS代码中,为什么不将like didf3(arr2)的值更改为?有什么方法可以按预期工作(如果可能,不返回修改后的数组)?arr2f2(arr1)arr1f3

var arr1 = [1, 2, 3, 4];
var arr2 = [1, 2, 3, 4];

function f1() {
    return [2, 3, 4, 5];
}

function f2(arr) {
    arr.push(5);
}

function f3(arr) {
    arr = f1();
}

f2(arr1);
console.log(arr1); // [ 1, 2, 3, 4, 5 ]

f3(arr2);
console.log(arr2); // [ 1, 2, 3, 4 ], expect [2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

javascript pass-by-reference

5
推荐指数
1
解决办法
649
查看次数

标签 统计

javascript ×1

pass-by-reference ×1