javascript - 无法将参数传递为对象的属性名称
问题描述
const persons = {
name: 'David',
age: 40
};
const myFunction = (x) => {
console.log(persons.x)
};
myFunction('name');
如果我通过 myFunction('name'),我希望它打印 'David'。
如果我通过 myFunction('age'),我希望它打印 40。
但现在它打印未定义。任何人有任何解决方案?
解决方案
const persons = {
name: 'David',
age: 40
};
const myFunction = (x) => {
console.log(persons[x])
};
myFunction('name');
如果要使用变量,则必须使用方括号表示法 ( object[property_name]
) 而不是点表示法 ( object.property_name
)。
推荐阅读
- jquery - 使用jQuery选择文件后如何检索文件的路径
- vue.js - 为什么我的 Vuex getter 在客户端返回 TRUE 而在服务器端返回 FALSE?
- android - 如何隐藏 ActionBar 但仍在左上角显示导航菜单图标
- npm - 您的 yo 版本已过时
- swift - 使用 UIPanGestureRecognizer 在 UIImageView Swift 4 中更改图像
- python - 如何使用 Django 设置 Apache
- wordpress - wordpress 背景图像在移动设备中没有响应
- python - 如何将子图添加到一组图
- python - 有没有办法可以优化多个 python for 循环?
- javascript - 如何在 Jest 中部分匹配对象数组中的字符串?