我有这个数组categories = [Sports, Kids]
在Sports
和Kids
不是字符串的情况下,它们是export const Sports = {...}
从另一个文件导出后导入的对象。
我也有categoriesLoop = ['Sports', 'Kids']
遍历<select>
中的类别来做到这一点:categoriesLoop.map(category => <option>{category}</option>
在反应中。
现在是一个问题,如何从数组中的{strong>字符串名称中访问Sports
和Kids
对象-categories
- ?
就像,当我在选择的onChange
中这样做时:
const category = e.currentTarget.value;
console.log(categories[category]);
我得到了未定义,因为categories
中不存在字符串'Sports',其中包含对象而不是字符串。
当我有字符串Sports
时,如何在categories
中获得'Sports'
对象?
我想念什么吗?
答案 0 :(得分:3)
使用对象而不是数组,然后仅使用括号符号:
"textToSpeech": '<speak><sub alias="Indian Premier League"> IPL</sub></speak>'
大小写很重要-在这里,您必须准确输入const categories = { Sports, Kids };
// ...
const category = e.currentTarget.value;
console.log(categories[category]);
或准确输入Sports
。由于这听起来像是来自用户输入的,因此您可以考虑使用小写字母的键,然后Kids
命名并小写输入值:
trim