Перебор массива с объектами
Привет.
res = Array[{...}{...}{...}]
0: Object { to_fact_hip: "10.00", to_fact_neck: "30.00", to_fact_weist: "20.00", … }
1: Object { to_fact_hip: "10.00", to_fact_neck: "30.00", to_fact_weist: "20.00", … }
2: Object { to_fact_hip: "0.00", to_fact_neck: "0.00", to_fact_weist: "0.00", … }
Пытаюсь из этого сделать что то такое:
0:Object{name:to_fact_hip, data:Array[10,10,0]
1:Object{name:to_fact_neck, data:Array[30,30,0]
......
Весь мозг забил этими объектами). Например получил названия ключей.
var obj =[];
res.map((o) => {
obj = Object.keys(o);
});
Перебираю массив for (let key in res) { let subobj = res[key];//Здесь у меня три объекта } А вот что дальше не могу понять.Пробовал через for
for(j=0;j<obj.length;++j){
for(i=0;i<res.length;i++){
arr[j] = +res[i][obj[j]];
a[j] = {name:obj[j],data:arr[j]}
}
}
Не получается.Как собрать такой массив?Help! |
ureech,
<script>
function fn(arr)
{ let keys = Object.keys(arr[0]), obj = {};
keys.forEach(k => obj[k] = []);
arr.forEach(a => keys.forEach(k => obj[k].push(+a[k])));
return keys.map(k => ({name : k, data : obj[k]}))
}
let res = [{ to_fact_hip: "10.00", to_fact_neck: "30.00", to_fact_weist: "20.00"},
{ to_fact_hip: "10.00", to_fact_neck: "30.00", to_fact_weist: "20.00"},
{ to_fact_hip: "0.00", to_fact_neck: "0.00", to_fact_weist: "0.00"}]
let totall = fn(res)
document.write(JSON.stringify(totall, "", 4))
</script>
|
рони,
Благодарю. Сам бы я точно такое не сотворил.Пойду разбираться).Спасибо,ещё раз). |
| Часовой пояс GMT +3, время: 02:41. |