js动态创建固定名称的对象

发布于 2022-09-12 22:34:52 字数 188 浏览 7 评论 0

很简单的问题,但是想了半天没有解决方案...
已知数组arr=['aa','bb','cc','dd']
现在要创建四个空对象,以数组的每一项命名
aa={},bb={},cc={},dd={}
怎么实现啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

月野兔 2022-09-19 22:34:52
const arr = ['aa', 'bb', 'cc'];
const {
    aa,
    bb,
    cc
} = arr.reduce((res, pre) => {
    res[pre] = {};
    return res;
}, {})
console.log(aa);
console.log(bb);
console.log(cc);
时光清浅 2022-09-19 22:34:52

这是全局的变量。如果你想要别的改window就好

arr.forEach(name=>{
    window[name]={}
})
我早已燃尽 2022-09-19 22:34:52

这个要看你准备怎么用这些变量名的对象。

var mObj={};
const arr = ['aa', 'bb', 'cc'];
arr.forEach(n=>{
    mObj[n]={};
})
// 这样可以利用 mObj[]的形式访问到,也可以直接利用window对象来存储,不过访问时一样只能采用window[]语法来访问,因为变量名如果没有预先定义,不好直接从数组中提取使用。
// 还需要注意这里的arr数组对象成员是字符串才行。
农村范ル 2022-09-19 22:34:52
for (const name of arr) {
  globalThis[name] = {};
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文