Saya memiliki objek seperti ini:

[{name:'abcd', data:[1,2,3,4,5,6]},{name:'cdef', data:[7,8,9,10,11,12]}]

Dan saya ingin memformatnya seperti ini:

[{abcd:1, cdef:7},{abcd:2, cdef:8}, {abcd:3, cdef:9}, ... ]

Tolonglah !

1
HachimJ 15 Desember 2017, 14:51

1 menjawab

Jawaban Terbaik

Anda dapat menggunakan metode reduce() dan forEach().

var data = [{name:'abcd', data:[1,2,3,4,5,6]},{name:'cdef', data:[7,8,9,10,11,12]}]

var result = data.reduce(function(r, {name, data}) {
  data.forEach((e, i) => {
    if(!r[i]) r[i] = {[name]: e};
    else r[i][name] = e;
  })
  return r;
}, [])

console.log(result)
1
Nenad Vracar 15 Desember 2017, 12:00