Reputation: 39
I have JSON like this:
[{"name":"tanggalPengajuan","value":""},{"name":"namaPemohon","value":""},{"name":"unitKerja","value":""},{"name":"nomorTelepon","value":""}]
How can I remove the elements value and name so i will get 'normal JSON` like this:
[{
"tanggalPengajuan" :"my date here",
"namaPemohon" :"My name here",
"unitKerja" :"My unit here",
"nomorTelepon" :"my number here"
}]
Upvotes: 0
Views: 64
Reputation: 22574
In ES6, you can use array#map
and destructuring syntax
const data = [{"name":"tanggalPengajuan","value":""},{"name":"namaPemohon","value":""},{"name":"unitKerja","value":""},{"name":"nomorTelepon","value":""}];
const result = data.map(({name, value}) => ({[name]:value}));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
Upvotes: 1
Reputation: 14561
You can use Array.prototype.map()
for this.
For every element in the original array, you can create a new object which has property name
and value as value
.
var data = [{"name":"tanggalPengajuan","value":"abc"},{"name":"namaPemohon","value":""},{"name":"unitKerja","value":""},{"name":"nomorTelepon","value":""}];
console.log(data.map(function(t){
var obj = {};
obj[t.name] = t.value;
return obj;
}));
Upvotes: 3