gpt4 book ai didi

javascript - JavaScript 中带有对象的 native 过滤器?

转载 作者:行者123 更新时间:2023-12-03 02:27:56 25 4
gpt4 key购买 nike

给出提示的背景(这不是家庭作业,而是有人转发给我的一些问题,以帮助理解如何使用 HOF 并正确实现它们,因此欢迎所有解释以及解决问题的不同方法):

a) 实现一个 findPerson 方法,该方法将人员数组和名称字符串作为目标。每个人对象的结构如下:

{name: 'Erika', gender: 'Female'}

使用示例:

findPerson(people, 'Erika') // -> {name: 'Erika', gender: 'Female'}
Constraint: Use filter

我的对象数组如下:

var people = [
{
name: 'Max',
gender: 'Trans'
},
{
name: 'Sue',
gender: 'Female'
},
{
name: 'Jake',
gender: 'Male'
},
{
name: 'John',
gender: 'Male'
},
{
name: 'Erika',
gender: 'Female'
}
];

到目前为止我构建的代码是这样的:

    const findPerson = (people, name) => {
people.filter(function(person) {
if(person.name === name){}
return person;
});
};

问题是我遇到了以下错误:应该返回一个对象‣TypeError:无法读取未定义的属性“应该”

应该返回正确的对象‣TypeError:无法读取未定义的属性“应该”

如果有人可以帮助我指出正确的方向,如何解决这个问题的逻辑以及我的代码哪里出了问题?

最佳答案

filter 函数应返回 truefalse:

var people = [
{name: 'Max', gender: 'Trans'},
{name: 'Sue', gender: 'Female'},
{name: 'Jake', gender: 'Male'},
{name: 'John', gender: 'Male'},
{name: 'Erika', gender: 'Female'}
];

const findPerson = (people, find) => people.filter(({name}) => name === find)[0];

console.log(findPerson(people, 'Erika'))

关于javascript - JavaScript 中带有对象的 native 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48857569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com