【问题标题】:Push array values to another array with a Key [closed]使用键将数组值推送到另一个数组[关闭]
【发布时间】:2021-09-21 08:46:56
【问题描述】:

我对 javascript 中的数组有疑问。这里我有 2 个数组,需要像上一个数组示例中所示那样附加在一起。

一个数组有一个键值对,而第二个数组只有一个值。

这里首先应该将键添加到第二个数组中。对于它在其数组中的每个值,同一个数组应该与第一个数组合并。

第一个数组

[
$subtask_assigned_to: "rohit"
status: 0
subtask_description: "described something"
]

第二个数组

[
0: "value 1"
1: "value 2"
]

现在我想合并前 2 个数组,并希望得到如下所示的数组结果,并将键(subtask_name)添加到第二个数组中。

[
 subtask_name: "value 1"
 subtask_assigned_to: "rohit"
 status: 0
 subtask_description: "described something"
]

[
 subtask_name: "value 2"
 subtask_assigned_to: "rohit"
 status: 0
 subtask_description: "described something"
]

这必须在 Javascript 中实现。感谢您的解决方案。

【问题讨论】:

  • 数组中[subtask_description: ''的语法无效
  • 这甚至不是 JS 中的数组结构
  • 这只是数组在控制台中的外观示例
  • 我们期待的不仅仅是您的要求的不清楚的转储。

标签: javascript arrays multidimensional-array dynamic-arrays array-merge


【解决方案1】:

如您所知,您用命名键调用它的“数组”是一个对象——它不是 Javascript 术语中的数组。 Javascript 中的数组是一种特定类型的对象,具有严格的数字键。

除了吹毛求疵,您可以只使用映射和扩展运算符来克隆对象并添加额外的 subtask_name 键。

这是一个更简单的版本。信用:Robby Cornelissen

const obj = {
  $subtask_assigned_to: "rohit",
  status: 0,
  subtask_description: "",
};

const arr = [
  "value 1",
  "value 2"
];

const converted = arr.map(subtask_name => ({...obj, subtask_name}));

console.log(converted);

【讨论】:

  • 很公平。这更直接。我已经更新了答案。
猜你喜欢
  • 2014-02-04
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 1970-01-01
  • 2021-06-20
  • 2015-06-01
相关资源
最近更新 更多