【问题标题】:Mapping two arrays to create one array映射两个数组以创建一个数组
【发布时间】:2021-12-24 00:40:59
【问题描述】:

我有两个数组,它们想要合并到一个数组中,但是,这些数组有一些我无法理解的复杂性......简而言之,我有一个来自一个“最后一条消息”的数组对话,并且我有一系列来自该对话的参与者。

“消息”数组如下所示

messageArray =
[
  [
    { message } <=== convo 1
  ],
  [
    { message } <===  convo 2
  ],
]

“参与者”数据数组如下所示

participantArray = 
[
   [
     {participant},{participant} <=== participants in convo 1
   ],
   [
     {participant},{participant},{participant} <=== participants in convo 2
   ]
]

我想要的是

mergedArray =
[
  [ { message }, [ { participant }, { participant  } ]] <=== conversation 1
],
[
  [ { message }, [ { participant }, { participant  } ]] <=== conversation 2
]

【问题讨论】:

  • 用示例编辑您的问题(使用工具[&lt;&gt;]),我们需要:您的代码、数据示例
  • 我将进行编辑,以便我想要的最终代码清晰
  • 那么我们可以假设两个数组长度相同吗?
  • participantArray 和 messageArray 长度相同

标签: javascript arrays mapping


【解决方案1】:

根据您的描述,您可以映射第一个数组,并使用索引获取第二个数组中的关联项。

例如。

const messages = [
  ["Helo World, Messsage One"],
  ["Goodbye, fair well"],
];

const users = [
   ["Bob", "Jane", "Harry"],
   ["Mike", "John", "Amanda"]
];

const joined = messages.map((m, ix) => {
  return [m[0], users[ix]];
});

console.log(joined);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-27
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多