I have JSON like this :
{ "success":true, "data":[ { "id": 1, "markname":"nama_penduduk", "markvalue":"Vin Diesel" }, { "id": 2, "markname":"umur_penduduk", "markvalue":"20 Tahun" }, { "id": 3, "markname":"keperluan_membuat_surat", "markvalue":"Untuk uji coba surat" } ] }
I’m trying to create a JSON like this :
const newJSON = { nama_penduduk: 'Vin Diesel', umur_penduduk: '20 Tahun', keperluan_membuat_surat: 'Untuk uji coba surat' };
Code :
dataResult.map((value) => { const markName = value.markname; const markValue = value.markvalue; res.status(200).json({ markName: markValue }); });
Suppose I don’t know how many data I have, how do I create this object in JavaScript?
Advertisement
Answer
You can use Array.reduce()
const dataResult = [{ "id": 1, "markname": "nama_penduduk", "markvalue": "Vin Diesel" }, { "id": 2, "markname": "umur_penduduk", "markvalue": "20 Tahun" }, { "id": 3, "markname": "keperluan_membuat_surat", "markvalue": "Untuk uji coba surat" } ] const newJSON = dataResult.reduce((acc, cur) => { acc[cur.markname] = cur.markvalue; return acc; }, {}); console.log(newJSON);