簡體   English   中英

Javascript從數組和對象鍵中查找組合的屬性

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM