繁体   English   中英

我想将几个 arrays 数据推送到 Javascript 中的二维数组中

[英]I would like to push a couple of arrays of data into a 2 dimensions array in Javascript

我想将几列 arrays 推入 Javascript 中的二维数组中,在 position 0 中添加一列,在数组末尾添加第二列。

初始数组是这样的:

[[1,1,1],
 [1,1,1],
 [1,1,1],
 [1,1,1]]

我想与二维数组合并的两个 arrays 是:

[0,0,0,0]

[2,2,2,2]

结果应该是下一个:

[[0,1,1,1,2],
 [0,1,1,1,2],
 [0,1,1,1,2],
 [0,1,1,1,2]]

谢谢!

如果您 100% 确定 arrays 的长度匹配,也可以通过如下循环来解决:

const arr = [[1,1,1],
             [1,1,1],
             [1,1,1],
             [1,1,1]];
const arrBeg = [0,0,0,0];
const arrEnd = [2,2,2,2];

arr.forEach(function (val, ix) {
    val.unshift(arrBeg[ix]);
    val.push(arrEnd[ix]);
});

您可以使用Array#map和 spread 语法将元素添加到每个数组的前端和后端。

 const arr = [[1,1,1], [1,1,1], [1,1,1], [1,1,1]]; const start = [0], //supports adding multiple elements, end = [2]; const res = arr.map(x => [...start, ...x, ...end]); console.log(JSON.stringify(res));

您可以使用这样的简单for循环来做到这一点:

var arr = [[1,1,1], [1,1,1], [1,1,1], [1,1,1]]
var arr1 = [0, 0, 0, 0];
var arr2 = [2, 2, 2, 2];

var arr1each = 0;
var arr2each = 0;
for (each = 0; each < arr.length; each++) {
  arr[each].unshift(arr1[arr1each]);
  arr[each].push(arr2[arr2each])
  arr1each++;
  arr2each++;
  continue;
}

console.log(arr)

这是代码笔

这是基本的,但可以满足您的需求:

function alterArray() {
    var testArray = [[1,1,1],[1,1,1],[1,1,1]];
    testArray.forEach( arrayElement => {
        arrayElement.unshift(0);`
        arrayElement.push(2);})   
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM