javascript - 如何在不使用 eval() 的情况下将变量插入路径?
问题描述
const ob = {user: {name: 'Jane', extension: '1234'}};
const param = 'name';
const path = `ob.user.${param}`;
console.log(path);
所以这会打印“ob.user.name”。我想要的是它打印“简”。如果我打电话,我可以这样做eval()
,path
但我被告知这eval()
是缓慢的、不安全的,并且可能致癌。
如何在不使用的情况下将值插入path
并获得path
引用的值eval()
?
(有问题的代码将进入一个 React 组件,我认为它排除了 window 对象的任何解决方案。)
解决方案
您也可以使用“数组表示法”访问对象属性:
const ob = {user: {name: 'Jane', extension: '1234'}};
const param = 'name';
const path = ob.user[param];
console.log(path); // Outputs "Jane"
推荐阅读
- javascript - 反应加载消息
- wordpress - 如何在元素或选择控件中显示自定义帖子类型**帖子**列表
- angular - 使用 bootstrapmd4 获得一个好的表格和导航栏
- java - 包含订单的 jsp getRequestDispatcher 未按计划工作
- python - 读取和计算列表中的项目时出现问题
- python - Python -Class 'set' 比较
- r - 按模式重新排序因子水平
- python - 如何从不同数量的输入中进行递归排列以在 Python 中工作?
- java - 如何在 Kotlin 中 * 在 * 类构造之后初始化变量?
- authentication - Django-Rest-Framwork 中的会话身份验证,这真的是我必须做的才能使 CSRF 安全吗?