我有两个对象,它们的数组均为“ allSessionsParts”和“ allSessions”。
仅在allSession.ID与allSessionsParts.SessionID匹配时,我试图使allSessions-> SessionsParts具有allSessionsParts
到目前为止,这是我的尝试。
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)
}
});
})
答案 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.