簡體   English   中英

從函數重寫數組。 使用參數引用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM