要推送的数组对象的 Typescript/Javascript 数组

Posted

技术标签:

【中文标题】要推送的数组对象的 Typescript/Javascript 数组【英文标题】:Typescript/Javascript array of Object of array to push 【发布时间】:2018-04-21 05:55:39 【问题描述】:

myArray: any[] = [];

通过 Get API,我得到了响应,我将其推送到我已经定义的空数组(“myArray”),现在“myArray”看起来像这样

myArray = [
    X[    0:Object1,  #1
          1:Object2,  #2
          2:Object3   #3
     ], 
    Y[    0:Object4,  #4
          1:Object5,  #5
          2:Object6   #6
     ],  
    Z[    0:Object7,  #7
          1:Object8,  #8
          2:Object9   #9
     ] 
           ];

现在我已经声明了一个新的空数组,

xyzArray: any[] = [];

我想将所有对象(即对象 1 到 9)推送到 myNewArray。我怎样才能做到这一点?我想要这样的东西:

xyzArray = [     0:Object1,   #1
                 1:Object2,   #2
                 2:Object3,   #3
                 3:Object4,   #4
                 4:Object5,   #5
                 5:Object6,   #6
                 6:Object7,   #7
                 7:Object8,   #8
                 8:Object9    #9
        ];

【问题讨论】:

这取决于你到底想做什么,你需要一个克隆的元素,还是只是引用等。一些适当的示例代码可以帮助你轻松...... 您的代码都不是有效的 javascript。请解决这个问题,让我们清楚地了解您的需求,并提供您自己的尝试。 请分享问题代码sn-ps,喜欢的可以用jsfiddle.net @MuhammetCanTONBUL JSFiddle 不太理想。 Stack Overflow 上有内置的 Stack Snippet 工具。 我习惯用jsfiddle,但你说的是真的。 @Xufox 【参考方案1】:

你可以在JS中使用reduceconcat

var arr =[[1,2,3],[4,5,6],[7,8,9]];

var newArr = arr.reduce((a,b) => a.concat(b));

console.log(newArr)

【讨论】:

【参考方案2】:

例如 你有下面的数组

var r = [[1,2,3], [4,5,6], [7,8,9]];

然后,您可以通过遍历r 的所有元素来合并1-9 中的所有元素。如下:

var t = []; for (a of r)  for (b of a)  t.push(b); 

var r = [[1,2,3], [4,5,6], [7,8,9]];
var t = []; for (a of r)  for (b of a)  t.push(b); 
console.log(t);

【讨论】:

以上是关于要推送的数组对象的 Typescript/Javascript 数组的主要内容,如果未能解决你的问题,请参考以下文章

数组推送仅推送数组的最后一个值

如何推送对象值而不是数组中对象的引用

如何使用 $push (Mongoose) 在数组中推送多个对象

无法在 localStorage 的数组中推送对象

如何在循环中推送对象数组中的值?

无法在对象数组中推送新对象