如何从主对象创建新的对象数组

viv*_*ngh 2 javascript

我有对象数组,并根据年龄进行过滤,并希望新的对象数组没有年龄

像这样

我有这个对象数组

    let arrayObj =[
  { name : "Joe", age:20, email: "joe@hotmail.com"},
  { name : "Mike", age:50, email: "mike@hotmail.com"},
  { name : "Joe", age:45, email: "mike@hotmail.com"}
]
Run Code Online (Sandbox Code Playgroud)

现在使用filter我正在过滤带有年龄的数组,如下所示

    let newArray = arrayObj.filter((el)=>{
  if(el.age>20){
    return el.name,el.email
  }
})
console.log(newArray)
Run Code Online (Sandbox Code Playgroud)

控制台总是显示这样的一切

[{
  age: 50,
  email: "mike@hotmail.com",
  name: "Mike"
},{
  age: 45,
  email: "mike@hotmail.com",
  name: "Joe"
}]
Run Code Online (Sandbox Code Playgroud)

但我想要

[{
      email: "mike@hotmail.com",
      name: "Mike"
    },{

      email: "mike@hotmail.com",
      name: "Joe"
    }]
Run Code Online (Sandbox Code Playgroud)

我不知道接下来要做什么才能实现这一目标

igg*_*igg 5

您想在过滤后删除年龄属性。您可以使用Array.prototype.map

let arrayObj =[
  { name : "Joe", age:20, email: "joe@hotmail.com"},
  { name : "Mike", age:50, email: "mike@hotmail.com"},
  { name : "Joe", age:45, email: "mike@hotmail.com"}
]

let newArray = arrayObj.filter(e => e.age > 20).map(e => { 
  return {
    name: e.name,
    email: e.email
  }
});

console.log(newArray);
Run Code Online (Sandbox Code Playgroud)