如何将一个数组的值解包到另一个数组的特定索引中?

Posted

技术标签:

【中文标题】如何将一个数组的值解包到另一个数组的特定索引中?【英文标题】:how to unpack the values of one array into the specific index of another array? 【发布时间】:2015-09-26 11:42:15 【问题描述】:

我有以下代码来创建一个简单的机器语言命令数组。

// to ensure consistency, initialize an array of values.
var cmd = _.chunk(_.range(0, 300, 0), 30);

_.each(doses, function (dose, index) 
  // these are "headers" to the machine language instructions.
  cmd[index][0] = 1;
  cmd[index][1] = dose.number;

  // this generates the 28 commands to be executed.
  // every four blocks together represents a single command
  var commands = _.flatten(_.map(_.chunk(_.range(0, 28, 0), 4), function (day) 
    _.each(dose.wellIndexes, function (well) 
      day[well] = dose.count.value;
    );
    return day;
  ));
);

(仍然是 WIP 代码)。 有了这个commands 数组,我想将它的值解压缩到cmd[index][2] 中,这样它将填充数组的其余部分。这可能吗?

查看文档,我找到了merging two arrays,但这不会替换索引后的值,只会追加到数组中。

如何在 javascript 中将数组值解压到另一个数组中?

【问题讨论】:

听起来Array.slice是你想要的? 【参考方案1】:

如果我正确理解您的问题,a simple mix of splice, concat and apply 应该可以解决问题:

Array.prototype.splice.apply(cmd[index], [2, commands.length].concat(commands));

也就是说,如果您需要在 cmd[index] 数组的末尾保留一些数据。 (换句话说,您的 commands 数组比从索引 2 开始的 cmd[index] 的其余部分要短)如果这不是问题,那么只需拼接数组并将您的命令连接到它。

【讨论】:

很好,我认为申请是必要的,但不太清楚在哪里

以上是关于如何将一个数组的值解包到另一个数组的特定索引中?的主要内容,如果未能解决你的问题,请参考以下文章

将数组参数直接解包到参数?

从Django中的GET参数中提取带有索引的数组

如何将数组值从一个数组移动到另一个数组

如何在 C# 中将数组的一部分复制到另一个数组?

如何在javascript中将一个数组中的值添加到另一个数组

如何将 Php 数组变量的值复制到另一个数组