[英]Javascript finding combined properties from an array and object keys
我有一个对象。 我希望能够动态创建一个数组,然后创建另一个对象,该对象包含与我创建的数组中的属性相对应的键值对。
例如,如果我有以下对象...
var churchMembers = {
John: 'fsiolfjdklsjds@yahoo.com',
Betty: 'fowifj@hotmail.com',
Christopher: 'fsis@yahoo.com',
James: 'wfowji@gmail.com',
Deep: 'abab@msn.com'
};
然后创建以下数组:
var peopleComing = ['John', 'Christopher', 'James'];
我想要以下回应
var peopleList = {
John: 'fsiolfjdklsjds@yahoo.com',
Christopher: 'fsis@yahoo.com',
James: 'wfowji@gmail.com'
};
现在,我正在尝试使用for
循环,而我正在做的就是遍历对象属性,这没有给我任何东西。 使用Object.keys
路由似乎适得其反,尽管这很容易使我过滤出正确的名称。 谢谢。 亚太统计所
您可以使用Array#forEach
遍历名称列表,并获取每个名称的电子邮件并将其添加到peopleList
。
var peopleList = {};
peopleComing.forEach(function(name){
peopleList[name] = churchMembers[name];
});
忽略代码中的拼写错误,以下代码应能够使用所需的内容初始化peopleList
。
var churchMembers = {
John: "fsiolfjdklsjds@yahoo.com"
Betty: "fowifj@hotmail.com",
Christopher: "fsis@yahoo.com",
James: "wfowji@gmail.com",
Deep: "abab@msn.com"
},
peopleComing = ["John", "Christopher", "James"],
peopleList = {};
for (var i = 0, j = peopleComing.length; i < j; i++) {
peopleList[peopleComing[i]] = churchMembers[peopleComing[i]];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.