在JavaScript中解构导入的对象

问题描述 投票:1回答:1

我们假设我有两个文件。第一个文件名为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

javascript ecmascript-6 javascript-objects es6-modules
1个回答
-1
投票

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

import obj from './obj.js'
Object.keys(obj).forEach(x => global[x] = obj[x]);
© www.soinside.com 2019 - 2024. All rights reserved.