需要将两个对象合并在一起,每个对象都有一个匹配ID的数组

时间:2019-05-08 13:04:39

标签: javascript reactjs

我有两个对象,它们的数组均为“ allSessionsParts”和“ allSessions”。

仅在allSession.ID与allSessionsParts.SessionID匹配时,我试图使allSessions-> SessionsParts具有allSessionsParts

enter image description here

到目前为止,这是我的尝试。

    const res = allSessions.map(function(sess, i) {
  if (sess.ID === allSessionsParts.SessionID) {
    return {
      sess,
      parts: allSessionsParts
    };
  }
});

更新

解决方案

    completeSessions.map(sess => {
    if(sess.SessionParts==null){
        sess.SessionParts=[]
    }
  parts.forEach(part => {
      if(part.SessionID === sess.ID){
          sess.SessionParts.push(part)

      }
  });
})

2 个答案:

答案 0 :(得分:2)

您需要遍历数组allSessions,对于每个会话,您都需要遍历数组allSessionParts以检查匹配的SessionId

的存在。
const validSessions = allSessions.filter(session => 
   allSessionParts.some(sessionPart => session.ID === sessionPart.SessionId
);

答案 1 :(得分:0)

C:\Users\User\Documents\Projects
Iterate over both arrays and compare array1.id === array2.sessionId,这是可行的解决方案。

if true push {...object1, ...object2} in new array.

相关问题