2017-07-27 17 views
0

これは、JavaScriptでresponse.dataの文字列に "path"キーを追加するために実現しようとしているアプローチです。文字列の単純な配列文字列の単純な配列にキー値を追加する方法は?

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

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

マイresponse.dataイスト:

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

上記のコードは、ちょうどその意志

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

を使用

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

を返します。しかし、にアクセスするオブジェクト内の3210キーarraySujets

+0

forループで「arraySujets [i] ['path']」を参照しようとすると、まだ「参照エラー:未定義」になっています。 –

0

いくつかのオブジェクトで応答を保持することができます。

var arraySujets = response.data.map(function(resp) { 
    return { 
    path: resp 
    } 
}) 
関連する問題