Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有更好的方法将列添加到二维数组_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 是否有更好的方法将列添加到二维数组

Javascript 是否有更好的方法将列添加到二维数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个二维数组 var textarray = [[{ text: 'Content 1' }, { text: 'Content 2' }], [{ text: 'Content 3' }, { text: 'Content 4' }]]; 我有一个方法可以将列添加到右边的矩阵中,如下所示 insertColumnAtRight() { for (var i = 0; i < this.textarray.length; i++) {

我有一个二维数组

var textarray = [[{ text: 'Content 1' }, { text: 'Content 2' }], 
                 [{ text: 'Content 3' }, { text: 'Content 4' }]];
我有一个方法可以将列添加到右边的矩阵中,如下所示

insertColumnAtRight() {
    for (var i = 0; i < this.textarray.length; i++) {
      this.textarray[i].push({ text: "" });
    }
}
insertColumnAtRight(){
对于(var i=0;i

是否有更好或更短的方法将列添加到二维数组?

您可以使用以下方法使代码更简洁:


希望这就是您想要的。

使用
map
concat
将简化

var textarray=[
[{text:“Content 1”},{text:“Content 2”}],
[{text:“Content 3”},{text:“Content 4”}],
];
const res=textarray.map((arr)=>arr.concat({text:}));

控制台日志(res)虽然它较短,但它确实比经典的
for
循环使用了更多内存。您的解决方案会因为
.map()
而创建一个新数组,然后会因为
.concat()
而为每一行创建一个新数组。因此,在结果中,不只是在现有矩阵中添加一个新列,而是创建另一个具有一个以上列的矩阵。我不知道OP是否关心这个问题,但我认为值得指出。@SebastianKaczmarek,没错。好的观点,谢谢你提供的细节。此解决方案的另一个目的是避免数据突变(避免更新原始数据)
textarray.forEach(element => element.push({ text: "" }));