1

I have a big array of objects such as

let arr = [
  {name: "name1" , surname: "surname1", age: "22"},
  {name: "name2" , surname: "surname2", age: "23"},
  {name: "name3" , surname: "surname3", age: "24"},
]

But i need to filter it so it will be

arr = [
  {name: "name1" , surname: "surname1"},
  {name: "name2" , surname: "surname2"},
  {name: "name3" , surname: "surname3"},
]

How can i do so?

3 Answers 3

2

Using Array#map:

const arr = [ {name: "name1" , surname: "surname1", age: "22"}, {name: "name2" , surname: "surname2", age: "23"}, {name: "name3" , surname: "surname3", age: "24"} ];

const res = arr.map(({ name, surname }) => ({ name, surname }));

console.log(res)

Sign up to request clarification or add additional context in comments.

Comments

1

Given that you want to filter multiple properties, you can store the properties to delete inside an array, then loop through it when maping and delete the properties:

const propertiesToFilter = ['age']

let arr = [
{name: "name1" , surname: "surname1", age: "22"},
{name: "name2" , surname: "surname2", age: "23"},
{name: "name3" , surname: "surname3", age: "24"},
]

const res = arr.map(e => (propertiesToFilter.forEach(f => delete e[f]), e))

console.log(res)

Comments

0

Using simple for-of with object-destructuring

for(person of arr){
    const {name, surname} = person;
    res.push({name, surname})
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.