gpt4 book ai didi

javascript - 过滤数组时,JS 过滤器无法正常工作

转载 作者:行者123 更新时间:2023-11-30 07:03:41 25 4
gpt4 key购买 nike

在我的 React Native 应用程序中,我有以下数组。

export const ID_OPTIONS = [
{ id: 'nric_fin', name: 'NRIC/FIN' },
{ id: 'passport', name: 'Passport' },
{ id: 'birth_cert', name: 'Birth Certificate' },
];

我尝试按如下方式过滤此数组。

setSelectedIdType = (idType) => {
return ID_OPTIONS.filter((type) => {
if (type.id === idType) {
return type.name;
}
return null;
});
}

但是,这会返回一个对象。我想得到名字作为结果。我在这里做错了什么?

最佳答案

它看起来更像是在寻找一个 for 循环:

setSelectedIdType = (idType) => {
for (let type of ID_OPTIONS) {
if (type.id === idType) {
return type.name;
}
}
return null;
}

可以使用 find 实现等价物:

setSelectedIdType = (idType) => {
let type = ID_OPTIONS.find(type => type.id === idType);
return type && type.name;
}

(当找不到 id 时,返回 undefined 而不是 null;类似于 type === undefined ? null : type.name 将在必要时更改它。)

关于javascript - 过滤数组时,JS 过滤器无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56846167/

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