2016-12-28 21 views
1

私は、JSONオブジェクトは次のようにDataと呼ばれるバックエンドサーバから来てい:配列内の項目に列を追加するにはどうすればよいですか?

[{ 
    "categoryName": "Google", 
    "id": "58591d2b7672d99910497bec", 
    "clientId": "585808f6737f6aad1985eab2" 
}, { 
    "categoryName": "Microsoft", 
    "id": "58591d3d7672d99910497bee", 
    "clientId": "585808f6737f6aad1985eab2" 
}, "3", { 
    "categoryName": "Yahoo", 
    "id": "58591d4c7672d99910497bef", 
    "clientId": "585808f6737f6aad1985eab2" 
}, { 
    "categoryName": "Msn", 
    "id": "585d25f6ae4b2ecb056bc514", 
    "clientId": "585808f6737f6aad1985eab2" 
}] 

と私はこのようなそれぞれの行に列(プロパティを?)を追加したいと思います:

[{ 
    "categoryName": "Google", 
    "id": "58591d2b7672d99910497bec", 
    "clientId": "585808f6737f6aad1985eab2", 
    "new column": "" 
}, { 
    "categoryName": "Microsoft", 
    "id": "58591d3d7672d99910497bee", 
    "clientId": "585808f6737f6aad1985eab2", 
    "new column": "" 
}, "3", { 
    "categoryName": "Yahoo", 
    "id": "58591d4c7672d99910497bef", 
    "clientId": "585808f6737f6aad1985eab2", 
    "new column": "" 
}, { 
    "categoryName": "Msn", 
    "id": "585d25f6ae4b2ecb056bc514", 
    "clientId": "585808f6737f6aad1985eab2", 
    "new column": "" 
}] 

んどのように私はこれを行うことができます誰ですか?

ありがとうございます。 typeof演算途中であるため、その奇妙な3のチェック

data.forEach(function(e){ 
    if (typeof e === "object"){ 
    e["new column"] = "" 
    } 
}); 

ニーズ:

+0

。とにかく空の文字列になるのなら、なぜあなたはそれをやるでしょうか? – toskv

+5

突然「3」があるのはなぜですか? – Chybie

+0

それはもちろん空ではありません。 –

答えて

4

はこれを試してみてください。

4

あなたはこれを行うことができます:あなたは、各オブジェクトに新しいプロパティを追加するためにはJavaScriptのマップ機能を使用することができ

const arr = data.map(x => Object.assign({}, data, { "new column": "" })) 
+0

これはまだその奇妙な "3"を処理する必要があります。しかし、元のデータに変更を加えず、適切な動詞 'map'を使用するための+1。 –

+0

"3"についてお詫び申し上げます。それはいくつかの試練の結果です... –

+0

いいえ。いいえ3いいです! – Chybie

関連する問題