首页 > 解决方案 > Angular 2 forEach 用于数组数组

问题描述

我有一个来自如下结构的 json 对象响应,我必须从这个结果中解析数据。

[CGOLD-1: Array(6), CGOLD-2: Array(6), MGOLD-1: Array(6), MGOLD-2: Array(6), MGOLD-3: Array(6), …]

在此处输入图像描述

在此处输入图像描述

我试过这样检查,我的类型脚本代码,

baserates: Object = {};
oldbaserates: Object = {};
this.liverateservice.setcallback((data)=>{
this.baserates = data;
this.baserates.forEach((item) => {
        console.log(item);
        //newArray.push(Object.assign({}, item));
    });
});

但是我的控制台不能正常工作,我必须像这样克隆对象

deepClone(oldArray: Object[]) {
    let newArray: any = [];
    oldArray.forEach((item) => {
      newArray.push(Object.assign({}, item));
    });
    return newArray;
  }

您能否帮助任何人以角度 2 处理这种类型的数据结构。

标签: angulartypescript

解决方案


您可以使用以下方法展平数组数组

const flatten = (array: any[][]) => (array ? array.reduce((output, array) => [...output, ...array], []) : array);

const flatArray = flatten(data);

现在 flatArray 只是一个数组。

你可以在这里看到它的演示

https://stackblitz.com/edit/typescript-wdtvs9


推荐阅读