kayum iman
kayum iman

Reputation: 39

Remove elements JSON jquery

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

Answers (2)

Hassan Imam
Hassan Imam

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

Nisarg Shah
Nisarg Shah

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

Related Questions