js请教:为何不能先用filter再用map ?如何得到我要的结果?

作者站长头像
站长
· 阅读数 8

//我想要小于30岁的人的名字const data = [ { id: 1, name: 'John', age: 25 }, { id: 2, name: 'Jane', age: 28 }, { id: 3, name: 'Tom', age: 35 }];

//先用filter筛选年龄小于30const newDate1=data.filter(item => item.age < 30)//这一步的结果是正常的,能读取到2个人的信息console.log(newDate1)//再用map读取名字const newData2 = newDate1.map(item => { return {name: item.name };});//发现读取不到要的结果...console.log(newData2);

//如何得到小于30岁的name ?

回复
1个回答
avatar
test
2024-06-30
const data = [
  { id: 1, name: 'John', age: 25 },
  { id: 2, name: 'Jane', age: 28 },
  { id: 3, name: 'Tom', age: 35 }
];

const namesUnder30 = data.filter(person => person.age < 30).map(person => person.name);
console.log(namesUnder30);
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容