2 回答
TA贡献1998条经验 获得超6个赞
您没有使用函数参数,而是定义了新变量。这会起作用:
function move(parameter, parameter2) {
var storage = parameter.pop();
parameter2.push(storage);
}
let anArray = [1, 2];
let anotherArray = [3, 4];
move(anArray, anotherArray)
console.log(anArray)
console.log(anotherArray)
TA贡献1815条经验 获得超10个赞
因为在move你定义的函数anArray中anotherArray。外部数组的范围与内部定义的变量的范围不同。实际上,移动发生在方法内部定义的数组中。由于您已经使用相同的名称定义了它们,因此会造成混淆。
请参阅下文,了解您所做的实际工作但不在传递的参数上的实现
function move(parameter, parameter2) {
var anArray = [1, 2];
var anotherArray = [3, 4];
var storage = anArray.pop();
anotherArray.push(storage);
console.log(anArray)
console.log(anotherArray)
}
move([],[])
因此,为了使您的函数在您传递的输入参数上工作,您实际上可以进行如下更改
function move(parameter, parameter2) {
const storage = parameter.pop();
parameter2.push(storage);
}
let anArray = [1, 2];
let anotherArray = [3, 4];
move(anArray, anotherArray)
console.log(anArray)
console.log(anotherArray)
希望这可以帮助。
添加回答
举报