【问题标题】:Typescript/Javascript array of Object of array to push要推送的数组对象的 Typescript/Javascript 数组
【发布时间】: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

标签: javascript arrays typescript


【解决方案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);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 2017-10-25
      • 1970-01-01
      • 2016-10-29
      • 2021-11-13
      • 2013-12-02
      • 2017-07-04
      相关资源
      最近更新 更多