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

标签 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)

      }
  });
})

最佳答案

您需要迭代数组 allSessions,对于每个 session ,您需要迭代数组 allSessionParts 以检查是否存在匹配的 SessionId

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

关于javascript - 需要将两个对象合并在一起,每个对象都有一个匹配 ID 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56041500/

相关文章:

javascript - 在 karma 预处理器中将文件添加到监视列表

javascript - 如何选择 saveStrings() 的保存位置

javascript - Node.js - child_process 和集群混淆

javascript - React.js。错误: Invalid value for <path> attribute d

javascript - 如果状态是某种东西,则执行 .filter 和 .map,否则仅执行 .map

javascript - typescript 编译器 : @types/d3-tip - Cannot invoke an expression whose type lacks a call signature

javascript - vuejs中通过变量动态调用方法

css - 路由的不同 css 样式表

reactjs - React独特的关键 Prop

reactjs - 带有 Formik 表单的 React-datepicker