How to remove a property from array of objects

Viewed 110

I have an array of objects with name and age property:

[
  { name: "Matthew", age: 23 },
  { name: "James", age: 20 }, 
  { name: "Daniel", age: 25 },
  { name: "Joshua", age: 22 }
]

I want to remove age property from all of the objects and print in console like

[
  { name: "Matthew" },
  { name: "James" }, 
  { name: "Daniel" },
  { name: "Joshua" }
]
3 Answers

Iterate over your array and use delete keyword.

let array = [
  { name: "Matthew", age: 23 },
  { name: "James", age: 20 }, 
  { name: "Daniel", age: 25 },
  { name: "Joshua", age: 22 }
]
array.forEach(function(v){ delete v.age });
console.log(array);

You can use map function to achieve this.

let output = test.map(({name}) => ({name}));

If you want to filter with multiple object you can add after name like {name, salary}

var test =[
  { name: "Matthew", age: 23 },
  { name: "James", age: 20 }, 
  { name: "Daniel", age: 25 },
  { name: "Joshua", age: 22 }
];
let output = test.map(({name}) => ({name}));
console.log(JSON.stringify(output, null, 2));

const newData = oldData.map(item=>({name:item.name}))
Related