javascript - 在 Javascript 中的特定索引处插入数组中的两个连续元素

标签 javascript arrays

我有两个这样的数组,

var firstArray = ['one','two','three','four','five','six','seven'];
var secondArray =['1','2','3','4','5','6','7','8'];

我必须像这样将第二个数组元素插入到第一个数组中,

var combinedArray =['one','two','three','1','2','four','five','six','3','4','seven','5','6','7','8']

我知道我可以在特定索引处为一个元素拼接和插入。但是我很困惑如何实现这种模式。 谁能帮我解决这个问题?

最佳答案

您可以为 block 使用模式,并为新数组切片所需的长度。

var firstArray = ['one', 'two', 'three', 'four', 'five', 'six', 'seven'],
    secondArray = ['1', '2', '3', '4', '5', '6', '7', '8'],
    data = [firstArray, secondArray],
    pattern = [3, 2],
    result = [],
    i = 0,
    l = data.reduce(function (r, a) { return Math.max(r, a.length); }, 0);

while (i < l) {
    pattern.forEach(function (a, j) {
        result = result.concat(data[j].slice(i * a, (i + 1) * a));
    });
    i++;
}

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 在 Javascript 中的特定索引处插入数组中的两个连续元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42809278/

相关文章:

javascript - 如何检查用户输入的文本是否包含 http ://in Javascript

C++,从文件中读取字母

javascript - 为什么 jquery serialize() 无法解析用户定义的属性?

当只有一些为空时,Javascript变量列表obj.names为空

arrays - 选择数组中的一系列元素spark sql

c++ - 制作标签数组的有效方法

arrays - 如何从数组中删除重复值

javascript - 如果我有两个选项的代码,单选按钮的结果将无法正常工作

javascript - Knockout.js 嵌套 foreach

javascript - 使用 dat.GUI 选择颜色设置三个 js 中的一个对象的颜色