[英]Rewrite array from the function. Using argument reference
您能解釋一下如何敬拜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);
如果您的函數將其返回,則可以訪問該數組:
var array = ['old']; function manageArray(targetArray) { targetArray = ['new']; return targetArray } array = manageArray(array); alert(array);
據我了解,您想通過引用傳遞變量。 不幸的是,Javascript將數組作為值傳遞。 有一些丑陋的解決方法。
var array = {v: ['old'] };
function manageArray(targetArray) {
targetArray.v = ['new'];
}
manageArray(array);
要么
var array = ['old'];
function manageArray(targetArray) {
return ['new'];
}
array = manageArray(array);
進一步閱讀:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.