Javascript 如何动态生成对象?

Javascript 如何动态生成对象?,javascript,arrays,loops,object,Javascript,Arrays,Loops,Object,这是我的密码: var parts = ['Identifiers', 'Names', 'Emails']; window["identifier_websites"] = ["aparat", "youtube", "telegram"]; window["name_websites"] = ["twitter", "instagram", "googleplus", "facebook", "linkedin", "cloob", "stackoverflow", "hamm

这是我的密码:

var parts = ['Identifiers', 'Names', 'Emails'];

window["identifier_websites"] = ["aparat", "youtube", "telegram"];
window["name_websites"]       = ["twitter", "instagram", "googleplus", "facebook", "linkedin", "cloob", "stackoverflow", "hammihan", "lenzor", "delgoo"];
window["email_websites"]      = ["email", "gmail", "aol", "chmail"];
我想动态地做到这一点:

{"Identifiers":identifier_websites, "Names":name_websites, "Emails":email_websites}

这是可能的吗?

当然,js是动态语言,所以这不仅是可能的,而且被广泛使用,您可以在node REPL中尝试这样的代码片段,只需在terminal中键入node即可。

如果您试图动态遍历各个部分来创建对象,这就可以做到

parts.reduce((acc, k) => {
  var singular = k.substr(0, k.length - 1).toLowerCase() + "_websites";
  acc[k] = window[singular];
  return acc;
}, {});
这个函数出现在这里,您只需添加一个新数组中的所有数组,将所有数组合并到一个数组中,然后使用它

//var result=新映射(arr.Map((i)=>[i.key,i.val]);
var parts=[“标识符”、“名称”、“电子邮件”];
var myArrays=[];
窗口[“标识符_网站”]=[“aparat”、“youtube”、“电报”];
window[“name_websites”]=[“twitter”、“instagram”、“googleplus”、“facebook”、“linkedin”、“cloob”、“stackoverflow”、“hammihan”、“lenzor”、“delgoo”];
窗口[“email_网站”]=“email”、“gmail”、“aol”、“chmail”];
myArrays.push(window.identifier\u网站、window.name\u网站、window.email\u网站);
//log(myArrays);
var obj=myArrays.reduce(函数(acc、cur、i){
acc[第[i]部分]=电流;
返回acc;
}, {});
console.log(obj)