<html> <body> <script> var data = [ { "id":"aaa", "name":"name1", "attrs":[ { "attr1":"bbb", "attr2":"ccc" } ] }, { "id":"bbb", "name":"name2", "attrs":[{ "attr1":"aaa" }] }, { "id":"ccc", "name":"name3", "attrs":[{ "attr1":"bbb" }] } ]; var Obj = {}; Object.keys(data).forEach(function (key) { var Temps = {}; Temps.id = data[key].id; Temps.name = data[key].name; var attrs = []; Object.keys(data[key].attrs[0]).forEach(function (key2) { var name; Object.keys(data).forEach(function (key3) { if(data[key3].id == data[key].attrs[0][key2]) { name = data[key3].name; } }); attrs.push(data[key].attrs[0][key2]+","+name); Temps.attrs = attrs; }); Obj[key] = Temps; }); console.log(Obj); </script> </body> </html>
このような感じで、
各id内のattrsに記載されている相手先のidの
nameを取得して再構築してobj化するプログラムを書いたのですが、
どうも回りくどいような気がしてまして、
もっとスマートなやり方はございますでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/28 07:03
2018/11/28 08:30