2 回答
TA贡献1859条经验 获得超6个赞
可以使用 Array.find()而不是使用 ,它返回数组中通过回调函数中实现的测试的所有元素,它Array.filter()
sexEnumeration
返回提供的数组中满足所提供测试函数的第一个元素的值
这是如何完成的:
const message = (sexEnumeration.find((item) => item.key === incoming ? item.label : false )).label
以下是工作,简洁的示例(包括@3limin4t0r的建议):
const incoming = "disi";
const sexEnumeration = [
{ key: "bebek", label: "ребенок" },
{ key: "erkek", label: "Мужчина" },
{ key: "disi", label: "женская кошка" }
];
const { label: message } = sexEnumeration.find(({ key }) => (
key == incoming
));
console.log(message);
TA贡献1794条经验 获得超8个赞
一种选择是将数组转换为 Map 以进行快速查找。在这里,数组的使用似乎并不合适。这确实假定项属性在项之间是唯一的。key
const sexEnumeration = [
{ key: "bebek", label: "ребенок" },
{ key: "erkek", label: "Мужчина" },
{ key: "disi", label: "женская кошка" }
];
const sexEnumerationMap = new Map(sexEnumeration.map(item => [item.key, item]));
console.log(sexEnumerationMap.get("disi").label);
console.log(sexEnumerationMap.get("bebek").label);
console.log(sexEnumerationMap.get("erkek").label);
添加回答
举报