微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从嵌套的对象数组创建对象数组

如何解决如何从嵌套的对象数组创建对象数组

我得到以下对象数组,如何将它们创建/拆分为多个对象数组。我们必须检查serialNumbers的内部数组是否不为空然后我们必须创建一个新对象,该对象将包含外部数组对象的旧数据加上内部数组对象的第一个值等等......

0: {id: 288,name: "22",price: 3,Inventories: Array(1),SerialNumbers: Array(2)}
1: {id: 289,name: "3",Price: 3,SerialNumbers: Array(0)}
2: {id: 290,name: "4",SerialNumbers: Array(0)}

我想实现这样的目标

0: {id: 288,SerialNumbers:1 }
1: {id: 288,SerialNumbers:2 }
2: {id: 289,SerialNumbers: null}
3: {id: 290,SerialNumbers: null}

我试过这个,但我无法达到结果。

this.data = response.map((obj) => {
        return {...obj,... obj.VariantSerialNumbers}
      });

解决方法

也许是这样的:

this.data = response.map((value,index) => {
  if (!!value.SerialNumbers.length)
    return value.SerialNumbers.map((number) => {
      let obj = Object.assign({},value);
      obj.SerialNumbers = number;
      return obj;
    })
  value.SerialNumbers = null;
  return value;
}).flatten()

首先映射到根数组,然后映射到 SerialNumbers(如果存在)。然后将结果展平以“撤消”嵌套数组结果。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。