const data=[{
"name": "Andrew",
"age": "23",
"subject": [{
"name": "english",
"period": "1st"
}]
},
{
"name": "karthick",
"age": "29",
"subject": [{
"name": "French",
"period": "3st"
}]
}]
I need to console only the name value in an array and print in console Example:["Andrew","english","karthick","French"]
Using Array#flatMap and Array#map:
const data = [ { "name": "Andrew", "age": "23", "subject": [ { "name": "english", "period": "1st" } ] }, { "name": "karthick", "age": "29", "subject": [ { "name": "French", "period": "3st" } ] } ];
const res = data.flatMap(({ name, subject = [] }) => ([
name,
...subject.map(({ name }) => name)
]));
console.log(res);
Based on your example dataset you don't have to do anything complicated here. Loop over the data and then push the name and subject name into a new array.
const data=[{name:"Andrew",age:"23",subject:[{name:"english",period:"1st"}]},{name:"karthick",age:"29",subject:[{name:"French",period:"3st"}]}];
const arr = [];
for (const obj of data) {
arr.push(obj.name);
arr.push(obj.subject[0].name);
}
console.log(arr);