2017-12-12 15 views
-4

JavaScriptを使用してこれを実現したいと思います。JavaScriptのJSON配列に対するAjaxの応答

{"dept1":{"emp1","emp2"}} 

[{ "employeeName":"emp1", "Deaprtment":"dept1"}, 
{ "employeeName":"emp2", "Deaprtment":"dept1"} 
] 

JavaScriptを使用して可能な解決策のために教えてください。

+1

を使うのか?それはあなたが求めていることですか? –

+3

予想されるオブジェクト構文が正しくありません。 –

+2

必要な結果は無効です。 '{" dept1 ":[" emp1 "、" emp2 "]}'を意味しましたか? – JJJ

答えて

1

あなたの予想される出力は無効ですが、このような出力が得られます。

var arr = [{ "employeeName":"emp1", "Deaprtment":"dept1"}, 
 
{ "employeeName":"emp2", "Deaprtment":"dept1"} 
 
]; 
 

 
var newObj = {}; 
 
for(let i in arr){ 
 
    if(arr[i].Deaprtment in newObj){ 
 
    newObj[arr[i].Deaprtment].push(arr[i].employeeName); 
 
    }else{ 
 
    newObj[arr[i].Deaprtment] = [arr[i].employeeName]; 
 
    } 
 
} 
 
console.log(newObj);

0

あなたは{"dept1":["emp1","emp2"]}として出力を探しているなら、あなたは、部門によってグループ化するreduce

var output = arr.reduce((a, b) => ( 
    a[ b.Deaprtment ] = a[ b.Deaprtment ] || [], 
    a[ b.Deaprtment ].push(b.employeeName), 
a) ,{}); 
関連する問題