Javascript 如何重置函数范围之外的数组
我不知道该如何命名,但这里有一个例子 我将一个数组传递给一个函数,我希望函数中所有更改的内容都应用于ref传递的数组(event the[])=> 但我希望更改后的内容应用于作为引用传递的数组Javascript 如何重置函数范围之外的数组,javascript,Javascript,我不知道该如何命名,但这里有一个例子 我将一个数组传递给一个函数,我希望函数中所有更改的内容都应用于ref传递的数组(event the[])=> 但我希望更改后的内容应用于作为引用传递的数组 var myArray = [1,2,3,4]; function resetter(arr){ arr.length = 0; } resetter(myArray); // [] but is this clean ? 还有别的办法吗 如果两个变量具有相同的引用,则表示修改(更改属性)其中一个
var myArray = [1,2,3,4];
function resetter(arr){
arr.length = 0;
}
resetter(myArray); // [] but is this clean ?
还有别的办法吗 如果两个变量具有相同的引用,则表示修改(更改属性)其中一个变量将更改另一个变量。这并不意味着赋予一个新值将改变另一个值 您可以使用
splice()
var myArray=[1,2,3,4];
功能复位器(arr){
阵列拼接(0,阵列长度)
}
重置器(myArray);
console.log(myArray)
这不是他们在OP中所做的吗?@MarkMeyer更新了答案。设置长度是截断项目的好方法,此方法受规范支持。oki感谢:)a只要不被视为黑客,我很高兴看到您可以阅读:
var myArray = [1,2,3,4];
function resetter(arr){
arr.length = 0;
}
resetter(myArray); // [] but is this clean ?