2017-07-27 91 views
0

這是我試圖在JavaScript中實現的方法,以將「路徑」鍵附加到response.data中的字符串。如何將鍵值附加到簡單的字符串數組?

var arraySujets = []; 
    arraySujets[path] = []; 

for (let i in response.data) { 
    arraySujets[i][path] = response.data[i]; 
} 

我response.data IST只是一個簡單的字符串數組:

array:2 [ 0 => "/example/path1" 1 => "/example/path2" ]

但是上面的代碼返回

ReferenceError: path is not defined

+1

其中是'path'變量的定義? – Sanandrea

+0

arraySujets = response.data; ?? –

回答

0

這裏可以應用幾種解決方案。

假設,

data = ["/example/path1", "/example/path2" ] 

斯坦達特for循環

arraySujets = []; 
for(var i=0; i<response.data.length; i++) { 
    arraySujets[i] = {path: response.data[i]} 
} 

FOREACH箭頭功能。

response.data.forEach(e => arraySujets.push({path: e})) 
/* 
*response.data.forEach(function(e) { 
* arraySujets.push({path: e}) 
*}) 
*/ 
+1

謝謝!這兩種方法都很有魅力。 –

0

只需使用

var arraySujets = {}; // This must be an object, not an array 
arraySujets["path"] = []; 

這會訪問path鍵在對象中arraySujets

+0

我仍然收到「參考錯誤:未定義」,如果我嘗試引用它在我的for循環與「arraySujets [i] ['路徑']」然後 –

0

您可能希望將響應保留在某些對象中。 你可以嘗試這樣的:

var arraySujets = response.data.map(function(resp) { 
    return { 
    path: resp 
    } 
}) 
相關問題