你能解释一下如何崇拜JavaScript神并解决这个问题。
var array = ['old'];
function manageArray(targetArray) {
targetArray = ['new'];
}
manageArray(array);
alert(array);

这样做的原因是创建一个具有过滤器逻辑的模式,而不是为每个数组声明显式方法,而是对所有数组进行统一规则。
所需逻辑
var numbers = ['1', '2']
var words = ['room', 'car']
var color = ['red', 'blue']
function manageArray(targetArray, value) {
targetArray = targetArray.filter(existingValue, () => {
return existingValue != value
})
}
manageArray(words, 'car');
alert(words);
答案 0 :(得分:1)
如果您的函数返回它,您将能够访问该数组:
var array = ['old'];
function manageArray(targetArray) {
targetArray = ['new'];
return targetArray
}
array = manageArray(array);
alert(array);
答案 1 :(得分:1)
据我了解,您希望通过引用传递变量。很遗憾Javascript将数组作为值传递。有一些丑陋的解决方法。
var array = {v: ['old'] };
function manageArray(targetArray) {
targetArray.v = ['new'];
}
manageArray(array);
或
var array = ['old'];
function manageArray(targetArray) {
return ['new'];
}
array = manageArray(array);
进一步阅读: