我将一个对象数组传递给一个函数,该函数的作用是根据某种标准删除其中的一些对象。
问题是范围没有按照我希望的方式处理,原始数组没有更新。
在该函数中,返回值已被使用,可能无法更改。我怎么能改变阵列?
答案 0 :(得分:0)
指向数组的变量是对它的引用。传递数组时,您正在复制此引用。所以你应该修改数组参数,它将修改原始数组。
var a=[1,2,3];
var c=f(a);
alert(a); // a is now [1,2,3,6]
function f(b) {
b.push(6);
return 1;
}