根据键从数组中获取值
Posted
技术标签:
【中文标题】根据键从数组中获取值【英文标题】:Get value from array based on key 【发布时间】:2020-11-12 15:53:47 【问题描述】:我正在尝试根据数字字符串从数组中获取文本。
这是数组:
const titles = [
level: '0',
text: 'None'
,
level: '1',
text: 'Bee Support'
,
level: '2',
text: 'Bee Staff'
,
level: '3',
text: 'Bee Developer'
,
level: '4',
text: 'Safe Number'
,
level: '5',
text: 'Bee Developer'
,
]
我正在尝试根据“级别”获取“文本”。我不确定该怎么做,因为我真的做不到.includes
。
【问题讨论】:
【参考方案1】:使用find
const titles = [
level: '0',
text: 'None'
,
level: '1',
text: 'Bee Support'
,
level: '2',
text: 'Bee Staff'
,
level: '3',
text: 'Bee Developer'
,
level: '4',
text: 'Safe Number'
,
level: '5',
text: 'Bee Developer'
,
];
console.log(titles.find(item => item.level === "5").text)
如果您有不止一次的关卡,并且想要返回该关卡的所有元素,请使用filter:
console.log(titles.filter(item => item.level === "5").map(item => item.text));
【讨论】:
【参考方案2】:您可以为此使用filter
,以允许存在多个匹配项。 Mozilla 有一个good explanation。
const titles = [
level: '0',
text: 'None'
,
level: '1',
text: 'Bee Support'
,
level: '2',
text: 'Bee Staff'
,
level: '3',
text: 'Bee Developer'
,
level: '4',
text: 'Safe Number'
,
level: '5',
text: 'Bee Developer'
,
]
let searchLevel = "3";
console.log(
titles.filter(title => title.level == searchLevel)
.map(title => title.text)
);
【讨论】:
以上是关于根据键从数组中获取值的主要内容,如果未能解决你的问题,请参考以下文章