Home > OS >  Split a JSON object by parameters
Split a JSON object by parameters

Time:01-29

I have a JSON Object defined in Typescript, I want to split it into parts but I can only get the keys:

This is my JSON object:

let data = {
  "dataTest": "data1,data2,data3",
  "insTest": "ins1,ins2,ins3",
  "serTest": "ser1,ser2,ser3"
}

This is what I do to loop through it:

for (let key of Object.keys(data)) {
  console.log(key)
}

This is what I get:

1º //dataTest
2º //insTest
3º //serTest

This is what I want to get:

1º //dataTest: "data1,data2,data3"
2º //insTest: "ins1,ins2,ins3"
3º //serTest: "ser1,ser2,ser3"

Upgrade

Is it also possible to get the concatenation of all the values in a single array?

Example:

data1,data2,data3,ins1,ins2,ins3,ser1,ser2,ser3

CodePudding user response:

Use Object.entries().

The Object.entries() method returns an array of a given object's own enumerable string-keyed property [key, value] pairs.

See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries

const data = {
  dataTest: "data1,data2,data3",
  insTest: "ins1,ins2,ins3",
  serTest: "ser1,ser2,ser3"
};

const entries = Object.entries(data);

entries.forEach(([key, value]) => {
  console.log(`${key}: ${value}`);
});

CodePudding user response:

You can get the required value using Object.entries().

let data = {
  "dataTest": "data1,data2,data3",
  "insTest": "ins1,ins2,ins3",
  "serTest": "ser1,ser2,ser3"
}

Object.entries(data).forEach(([key, value]) => {
  console.log(`${key}: ${value}`);
});

CodePudding user response:

Here is another way

for(let key in data) {
    console.log(key   ': '   '"'   data[key]   '"');
}

using Template literals

for(let key in data) {
    console.log(`${key}: "${data[key]}"`);
}
  •  Tags:  
  • Related