2017-07-27 172 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 
    } 
}) 
相关问题