用JavaScript分解导入的对象

时间:2019-04-14 12:53:50

标签: javascript ecmascript-6 javascript-objects es6-modules

让我们想象一下我有两个文件。第一个文件称为obj.js,看起来像这样:

const obj = {
  item1: 'some text',
  item2: 'some other text',
  item3: 'more text'
  ...
  item99: `yet more text`
}

export default obj

2号文件的外观称为main.js,看起来像这样:

import obj from './obj.js'

现在,这是我的问题。在第二个文件(main.js中,我可以像这样访问obj对象的属性:obj.item2。我想知道的是,我可以对这个对象进行解构,以便可以按以下方式访问任何属性:item2item26item38等(即,无需前言)它与obj.)?

如果是这样,知道怎么做吗?

我不是要导入任何特定的属性,而是想要选择使用我选择的任何属性而无需引用obj

1 个答案:

答案 0 :(得分:-1)

您的问题很简单,那就是如何分解对象的所有属性。实际上,它的动态变量名称是不可能的。但是在这里,您想使用global和动态属性名称在全局范围内声明它们。

import obj from './obj.js'
Object.keys(obj).forEach(x => global[x] = obj[x]);