如何从名称中调用数组中的对象

时间:2019-06-29 06:59:45

标签: javascript arrays reactjs object

我有这个数组categories = [Sports, Kids]

SportsKids不是字符串的情况下,它们是export const Sports = {...}从另一个文件导出后导入的对象。

我也有categoriesLoop = ['Sports', 'Kids']遍历<select>中的类别来做到这一点:categoriesLoop.map(category => <option>{category}</option>在反应中。

现在是一个问题,如何从数组中的{strong>字符串名称中访问SportsKids 对象-categories- ?

就像,当我在选择的onChange中这样做时:

const category = e.currentTarget.value;
console.log(categories[category]);

我得到了未定义,因为categories中不存在字符串'Sports',其中包含对象而不是字符串

当我有字符串Sports时,如何在categories中获得'Sports'对象?

我想念什么吗?

1 个答案:

答案 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