对象属性值访问出错?

const aa =  {
    'mysql': 'MySql',
    'pulsar': 'Pulsar'
}
const dd = ["mysql"];
const cc = `${aa}${dd}`;
console.log(cc,'cc')

打印结果
[object Object]mysql cc

为什么不能正常访问出value值?有什么比较好的访问方式吗?

阅读 1.5k
3 个回答
const aa =  {
    'mysql': 'MySql',
    'pulsar': 'Pulsar'
}
const dd = ["mysql"];


console.log(aa[dd]) //输出:"MySql"

你是不是要这个意思???

获取对象属性值有两种方法: obj.属性名, 或者 obj[变量名], 变量名可以使任意变量:

let str = 'mysql'
obj[str]就等于obj.mysql


 const dd = ["mysql"];
obj[dd[0]]等于obj["mysql"], 就等于obj.mysql

这样就可以动态设置obj的属性与获取obj的属性值

const aa = {
    'mysql': 'MySql',
    'pulsar': 'Pulsar'
  }
  const dd = ["mysql"];
  const cc = `${JSON.stringify(aa)}${JSON.stringify(dd)}`;
  console.log(cc, 'cc')

用JSON转成JSON格式字符串就行了就可以了

直接打印不行是因为${aa}${dd}把两个对象先转为字符串在拼接完整结果, 对象转字符串就是[object Object]
image.png

const aa =  {
    'mysql': 'MySql',
    'pulsar': 'Pulsar'
}
const dd = ["mysql"];
// 这块为什么要使用``取值呢,是需要添加其他字符串吗,如果需要
const cc = `${aa[dd]}`
// 如果不需要
const cc = aa[dd]
console.log(cc)

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题