[英]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.