首页 > 解决方案 > 无法将参数传递为对象的属性名称

问题描述

const persons = {
    name: 'David',
    age: 40
};

const myFunction = (x) => {
    console.log(persons.x)
};

myFunction('name');

如果我通过 myFunction('name'),我希望它打印 'David'。
如果我通过 myFunction('age'),我希望它打印 40。

但现在它打印未定义。任何人有任何解决方案?

标签: javascriptfunctionobjectparametersproperties

解决方案


const persons = {
    name: 'David',
    age: 40
};

const myFunction = (x) => {
    console.log(persons[x])
};

myFunction('name');

如果要使用变量,则必须使用方括号表示法 ( object[property_name]) 而不是点表示法 ( object.property_name)。


推荐阅读