2017-04-18 93 views
0

例如,我要建立一個類似這樣的:如何向一個數組添加一個值,該數組是另一個數組在同一個數組中的引用?

var myArray = [ 
 
["Item 1", "pretext"+myArray[0][0]+"aftertext"], 
 
["Item 1", "pretext"+myArray[1][0]+"aftertext"] 
 
]

任何想法如何做到這一點?如果可能的話?

+0

你不能從內部引用一個數組。另外,在你的例子中,你嘗試在arr [0] [1]中使用arr [0] [0]?我不確定你想要完成什麼。如果您可以更簡潔地形成您的問題,我會盡力提供更好的答案。 –

+0

歡迎來到Stack Overflow!請參加[旅遊],環顧四周,閱讀[幫助],特別是[*我如何提出一個好問題?](/ help /如何問)恐怕你的問題太模糊,目前無法得到有效答覆。 –

回答

0

不是你怎麼做到的。你需要在調用的數組中有前一個元素的第一個EXIST。您無法引用尚未設置的值。你可以做myArray [n + 1] = some_fn(myArray [n])。您可以使用for循環來創建和使用Array push()方法,如myArray.push [new_element]來完成此操作。

0

是的,但不在一行,因爲你不能引用你當前創建的數組

var items = ['item 1', 'item 1'] 
 
var myArray = [] 
 

 
for (let i = 0; i < items.length; i++) { 
 
    myArray.push([items[i], 'pretext' + items[i] + 'aftertext']) 
 
} 
 
console.log(myArray)

0

我認爲你正在試圖做可能會通過調整數組元素的順序,並使用Array#join來連接前綴和後綴可以更容易實現什麼:

var array = [ 
 
    ['pretext1 ', 'Item 1', ' aftertext1'], 
 
    ['pretext2 ', 'Item 2', ' aftertext2'] 
 
] 
 

 
console.log(array[0][1]) 
 
console.log(array[0].join(''))

0

你可以把t他原來,開始數組並循環它,修改或添加每個數組項的數據。

所以,如果我的數組如下:

var myArray = [ 
     ["item1", ""], 
     ["item2", ""] 
]; 

然後我可以做到以下幾點:

$.each(myArray, function(i, val){ 
    var newValue = 'some prefix-' + val[0] + '-some suffix'; 
    myArray[i][1]=newValue; 
}); 

結果數組隨後將包含項目:

["item1", "some prefix-item1-some suffix"], 
["item2", "some prefix-item2-some suffix"] 
相關問題