javascript - 使3个数组相互对应,第一个为对象名称
问题描述
我目前有多个对象,如下所示:
let object1 = {
xyz: 'xyz1',
arr: []
},
object2 = {
xyz: 'xyz2',
arr: []
},
object3 = {
xyz: 'xyz3',
arr: []
}
这变得非常冗长和多余。无论如何我可以创建3个数组,例如:
let objName = ["object1", "object2", "object3"]
let xyzArr = ["xyz1", "xyz2","xyz3"]
let theArr = [[], [], [] ]
反正有没有相互对应?
解决方案
我不确定你在问什么,但这将采用 3 个数组并将对象存储在window
:
let objName = ["object1", "object2", "object3"];
let xyzArr = ["xyz1", "xyz2","xyz3"];
let theArr = [[], [], []];
objName.forEach((name, index) => {
window[name] = {
xyz: xyzArr[index],
arr: theArr[index]
};
});
console.log(object1);
console.log(object2);
console.log(object3);
我建议使用命名空间而不是使它们成为全局的(更多内容在这里),但我想这可行吗?
推荐阅读
- reactjs - Next.js 路由与子路由的“next-connect”
- json - 如何在 Python 中将 JSON 格式转换为 XLSX 格式
- android - 在 App 中同时使用 Andorid AWS SDK 和 Amplify,Cognito 池问题?
- flutter - 在 Flutter 中添加带有异常的 Open Container 过渡
- c# - 尝试为 LiveCharts WPF 创建自定义工具提示 - 工具提示不显示数据
- python - 按大小排序文件时出现 FileNotFoundError
- ios - 来自 Capacitor App 的 iOS 模拟器上的网络错误
- kotlin - 为什么作者可以将接受两个参数的有趣的launchDetailsActivity分配给只接受一个参数的OnExploreItemClicked?
- vue.js - Vue chartkick 不显示
- python - 你如何在课堂上编写碰撞程序?