javascript - 从变量(从导入的 JS)中获取字符串作为对象中的键

标签 javascript node.js json vue.js object

如何使变量成为对象的键?

我正在从 definitions.js 导入常量,我需要将这些常量用作键:

import * as cons from '../scripts/definitions.js'

export default {
  data () {
    return {
      cons: cons,
      obj: {
        cons.FILENAMEA: {},
        cons.FILENAMEB: {
          children: [
            cons.CHILDFILENAME1,
            cons.CHILDFILENAME2,
            cons.CHILDFILENAME3
          ]
        }
      }
    }
  },

使用上面的代码,我得到错误:

Parsing error: Unexpected token, expected ","

因为 cons.FILENAMEA 中的点 (.)。这个怎么做?? 请注意,我需要从外部文件中获取这些变量/常量。不可能只在同一个文件上声明它。

谢谢!

最佳答案

你可以使用 es6 computed properties :

obj: {
  [cons.FILENAMEA]: {},
  [cons.FILENAMEB]: {
    children: [
      cons.CHILDFILENAME1,
      cons.CHILDFILENAME2,
      cons.CHILDFILENAME3
    ]
  }
}

括号内的表达式将被计算并用作属性名称

关于javascript - 从变量(从导入的 JS)中获取字符串作为对象中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61321370/

相关文章:

javascript - Mongoose 中嵌入文档的重复键错误索引

javascript - 将 JSON ID 键插入 ng-click 指令,然后将其传递给另一个 Controller

json - 如何将JSON对象的嵌套部分转换为点链式平面JSON?

javascript - 返回值的函数或函数

javascript - 使用网络音频 API 播放多个声音时如何消除噪音?

javascript - 编码/保护 javascript 代码的最佳方式是什么?

javascript - Mongo 外壳光标 : updated documents get to cursor again

javascript - 如何在javascript中每天、每周、每月运行代码

python - socketIO-客户端 - 运行时错误 : maximum recursion depth exceeded

javascript - 将多条记录添加到本地存储