vue数据处理问题

想把数组每一项的refundItemsList里面的数据拿到外层,感谢各位

[
    {
        "creator": "SU9999",
        "lastModifiedTime": "2021-12-21 10:28:15",
        "refundTime": "2021-12-21T10:28:15.836+08:00[Asia/Shanghai]",
        "lastModifier": "SU9999",
        "pageSize": 0,
        "refundStatus": "0",
        "refundMoney": 527700,
        "pageCur": 0,
        "refundItemsList": [
            {
                "amount": 78700,
                "deliverdQuantity": 0,
                "quantity": 100,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112211028158536193",
                "productName": "袋装水泥",
                "skuName": "P.O32.5R",
                "productCode": "7020201",
                "price": 787,
                "id": "202112211028158541516",
                "skuCode": "702020100026",
                "refundAmount": 78700
            },
            {
                "amount": 449000,
                "deliverdQuantity": 0,
                "quantity": 500,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112211028158536193",
                "productName": "袋装水泥",
                "skuName": "P.P32.5R",
                "productCode": "7020201",
                "price": 898,
                "id": "202112211028158994237",
                "skuCode": "702020400032",
                "refundAmount": 449000
            }
        ],
        "pageNum": 0,
        "customerName": "浪潮新基建",
        "arriveTime": "2021-12-21T10:28:15.836+08:00[Asia/Shanghai]",
        "createdTime": "2021-12-21 10:28:15",
        "orderCode": "O202111120059179363246",
        "id": "202112211028158536193",
        "customer": "53b221e2-0c7d-486d-845f-a95100f8f13b"
    },
    {
        "creator": "SU9999",
        "lastModifiedTime": "2021-12-21 10:25:51",
        "refundTime": "2021-12-21T10:25:51.654+08:00[Asia/Shanghai]",
        "lastModifier": "SU9999",
        "pageSize": 0,
        "refundStatus": "0",
        "refundMoney": 1392,
        "pageCur": 0,
        "refundItemsList": [
            {
                "amount": 631,
                "deliverdQuantity": 0,
                "quantity": 1,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112211025518503935",
                "productName": "袋装水泥42.5",
                "skuName": "P.Ⅱ42.5",
                "productCode": "7020205",
                "price": 631,
                "id": "202112211025518602878",
                "skuCode": "702020510012",
                "refundAmount": 631
            },
            {
                "amount": 761,
                "deliverdQuantity": 0,
                "quantity": 1,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112211025518503935",
                "productName": "袋装水泥42.5",
                "skuName": "P.O42.5",
                "productCode": "7020205",
                "price": 761,
                "id": "202112211025518639178",
                "skuCode": "702020510010",
                "refundAmount": 761
            }
        ],
        "pageNum": 0,
        "customerName": "浪潮新基建",
        "arriveTime": "2021-12-21T10:25:51.654+08:00[Asia/Shanghai]",
        "createdTime": "2021-12-21 10:25:51",
        "orderCode": "O202111120336190886422",
        "id": "202112211025518503935",
        "customer": "53b221e2-0c7d-486d-845f-a95100f8f13b"
    },
    {
        "creator": "SU9999",
        "lastModifiedTime": "2021-12-15 14:34:01",
        "refundTime": "2021-12-15T14:34:01.304+08:00[Asia/Shanghai]",
        "lastModifier": "SU9999",
        "pageSize": 0,
        "refundStatus": "0",
        "refundMoney": 1395,
        "pageCur": 0,
        "refundItemsList": [
            {
                "amount": 1395,
                "deliverdQuantity": 0,
                "quantity": 3,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112151434014777122",
                "productName": "普通硅酸盐水泥",
                "skuName": "P.O32.5R",
                "productCode": "pro001",
                "price": 465,
                "id": "202112151434014792272",
                "skuCode": "P.O32.5R",
                "refundAmount": 1395
            }
        ],
        "pageNum": 0,
        "customerName": "山东信诺商贸有限公司",
        "arriveTime": "2021-12-15T14:34:01.304+08:00[Asia/Shanghai]",
        "createdTime": "2021-12-15 14:34:01",
        "orderCode": "O202111100740362898427",
        "id": "202112151434014777122",
        "customer": "b6bf4e53-0f7c-410e-89ff-90907d47f6b8"
    },
    {
        "creator": "SU9999",
        "lastModifiedTime": "2021-12-15 14:30:55",
        "refundTime": "2021-12-15T14:30:08.763+08:00[Asia/Shanghai]",
        "lastModifier": "SU9999",
        "pageSize": 0,
        "refundStatus": "2",
        "refundMoney": 647352,
        "pageCur": 0,
        "refundItemsList": [
            {
                "amount": 648000,
                "deliverdQuantity": 1,
                "quantity": 1000,
                "undeliverdAmount": 647352,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112151430088963588",
                "productName": "袋装水泥32.5",
                "skuName": "P.O32.5R",
                "productCode": "7020201",
                "deliverdAmount": 648,
                "price": 648,
                "id": "202112151430088972992",
                "skuCode": "702020100026",
                "refundAmount": 648000
            }
        ],
        "pageNum": 0,
        "customerName": "山东信诺商贸有限公司",
        "arriveTime": "2021-12-15T14:30:08.763+08:00[Asia/Shanghai]",
        "createdTime": "2021-12-15 14:30:08",
        "orderCode": "O202111120334041045559",
        "id": "202112151430088963588",
        "customer": "b6bf4e53-0f7c-410e-89ff-90907d47f6b8"
    },
    {
        "creator": "SU9999",
        "lastModifiedTime": "2021-12-15 14:30:53",
        "refundTime": "2021-12-15T14:27:28.202+08:00[Asia/Shanghai]",
        "lastModifier": "SU9999",
        "pageSize": 0,
        "refundStatus": "1",
        "refundMoney": 832,
        "pageCur": 0,
        "refundItemsList": [
            {
                "amount": 832,
                "deliverdQuantity": 0,
                "quantity": 1,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112151427282572983",
                "productName": "袋装水泥32.5",
                "skuName": "P.O32.5R",
                "productCode": "7020201",
                "price": 832,
                "id": "202112151427282594935",
                "skuCode": "702020100026",
                "refundAmount": 832
            }
        ],
        "pageNum": 0,
        "customerName": "山东信诺商贸有限公司",
        "arriveTime": "2021-12-15T14:27:28.202+08:00[Asia/Shanghai]",
        "createdTime": "2021-12-15 14:27:28",
        "orderCode": "O202111150112514592844",
        "id": "202112151427282572983",
        "customer": "b6bf4e53-0f7c-410e-89ff-90907d47f6b8"
    }
]
阅读 2k
3 个回答

两种遍历方法
image.png

arr.flatMap(({refundItemsList,...other})=>{
    return refundItemsList.map(refundItem=>{
        return {...refundItem,...other};
  });
},[])

image.png

arr.reduce((acc,{refundItemsList,...other})=>{
    refundItemsList.forEach(refundItem=>{
        acc.push({...refundItem,...other});
  });
return acc;
},[])

不清楚你说的拿到外层指的是哪一层,通过遍历和递归很容易弄

function transform(arr) {
    var ret = [], prop = "refundItemsList";
    for (var i = 0; i < arr.length; ++i) {
        var item = arr[i], list = item[prop];
        for (var j = 0; j < list.length; ++j) {
            var key, obj = {};
            for (key in list[j]) obj[key] = list[j][key];
            for (key in item) key === prop || (obj[key] = item[key]);
            ret.push(obj);
        }
    }
    return ret;
}
console.dir(transform([
    {
        "creator": "SU9999",
        "lastModifiedTime": "2021-12-21 10:28:15",
        "refundTime": "2021-12-21T10:28:15.836+08:00[Asia/Shanghai]",
        "lastModifier": "SU9999",
        "pageSize": 0,
        "refundStatus": "0",
        "refundMoney": 527700,
        "pageCur": 0,
        "refundItemsList": [
            {
                "amount": 78700,
                "deliverdQuantity": 0,
                "quantity": 100,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112211028158536193",
                "productName": "袋装水泥",
                "skuName": "P.O32.5R",
                "productCode": "7020201",
                "price": 787,
                "id": "202112211028158541516",
                "skuCode": "702020100026",
                "refundAmount": 78700
            },
            {
                "amount": 449000,
                "deliverdQuantity": 0,
                "quantity": 500,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112211028158536193",
                "productName": "袋装水泥",
                "skuName": "P.P32.5R",
                "productCode": "7020201",
                "price": 898,
                "id": "202112211028158994237",
                "skuCode": "702020400032",
                "refundAmount": 449000
            }
        ],
        "pageNum": 0,
        "customerName": "浪潮新基建",
        "arriveTime": "2021-12-21T10:28:15.836+08:00[Asia/Shanghai]",
        "createdTime": "2021-12-21 10:28:15",
        "orderCode": "O202111120059179363246",
        "id": "202112211028158536193",
        "customer": "53b221e2-0c7d-486d-845f-a95100f8f13b"
    },
    {
        "creator": "SU9999",
        "lastModifiedTime": "2021-12-21 10:25:51",
        "refundTime": "2021-12-21T10:25:51.654+08:00[Asia/Shanghai]",
        "lastModifier": "SU9999",
        "pageSize": 0,
        "refundStatus": "0",
        "refundMoney": 1392,
        "pageCur": 0,
        "refundItemsList": [
            {
                "amount": 631,
                "deliverdQuantity": 0,
                "quantity": 1,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112211025518503935",
                "productName": "袋装水泥42.5",
                "skuName": "P.Ⅱ42.5",
                "productCode": "7020205",
                "price": 631,
                "id": "202112211025518602878",
                "skuCode": "702020510012",
                "refundAmount": 631
            },
            {
                "amount": 761,
                "deliverdQuantity": 0,
                "quantity": 1,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112211025518503935",
                "productName": "袋装水泥42.5",
                "skuName": "P.O42.5",
                "productCode": "7020205",
                "price": 761,
                "id": "202112211025518639178",
                "skuCode": "702020510010",
                "refundAmount": 761
            }
        ],
        "pageNum": 0,
        "customerName": "浪潮新基建",
        "arriveTime": "2021-12-21T10:25:51.654+08:00[Asia/Shanghai]",
        "createdTime": "2021-12-21 10:25:51",
        "orderCode": "O202111120336190886422",
        "id": "202112211025518503935",
        "customer": "53b221e2-0c7d-486d-845f-a95100f8f13b"
    },
    {
        "creator": "SU9999",
        "lastModifiedTime": "2021-12-15 14:34:01",
        "refundTime": "2021-12-15T14:34:01.304+08:00[Asia/Shanghai]",
        "lastModifier": "SU9999",
        "pageSize": 0,
        "refundStatus": "0",
        "refundMoney": 1395,
        "pageCur": 0,
        "refundItemsList": [
            {
                "amount": 1395,
                "deliverdQuantity": 0,
                "quantity": 3,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112151434014777122",
                "productName": "普通硅酸盐水泥",
                "skuName": "P.O32.5R",
                "productCode": "pro001",
                "price": 465,
                "id": "202112151434014792272",
                "skuCode": "P.O32.5R",
                "refundAmount": 1395
            }
        ],
        "pageNum": 0,
        "customerName": "山东信诺商贸有限公司",
        "arriveTime": "2021-12-15T14:34:01.304+08:00[Asia/Shanghai]",
        "createdTime": "2021-12-15 14:34:01",
        "orderCode": "O202111100740362898427",
        "id": "202112151434014777122",
        "customer": "b6bf4e53-0f7c-410e-89ff-90907d47f6b8"
    },
    {
        "creator": "SU9999",
        "lastModifiedTime": "2021-12-15 14:30:55",
        "refundTime": "2021-12-15T14:30:08.763+08:00[Asia/Shanghai]",
        "lastModifier": "SU9999",
        "pageSize": 0,
        "refundStatus": "2",
        "refundMoney": 647352,
        "pageCur": 0,
        "refundItemsList": [
            {
                "amount": 648000,
                "deliverdQuantity": 1,
                "quantity": 1000,
                "undeliverdAmount": 647352,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112151430088963588",
                "productName": "袋装水泥32.5",
                "skuName": "P.O32.5R",
                "productCode": "7020201",
                "deliverdAmount": 648,
                "price": 648,
                "id": "202112151430088972992",
                "skuCode": "702020100026",
                "refundAmount": 648000
            }
        ],
        "pageNum": 0,
        "customerName": "山东信诺商贸有限公司",
        "arriveTime": "2021-12-15T14:30:08.763+08:00[Asia/Shanghai]",
        "createdTime": "2021-12-15 14:30:08",
        "orderCode": "O202111120334041045559",
        "id": "202112151430088963588",
        "customer": "b6bf4e53-0f7c-410e-89ff-90907d47f6b8"
    },
    {
        "creator": "SU9999",
        "lastModifiedTime": "2021-12-15 14:30:53",
        "refundTime": "2021-12-15T14:27:28.202+08:00[Asia/Shanghai]",
        "lastModifier": "SU9999",
        "pageSize": 0,
        "refundStatus": "1",
        "refundMoney": 832,
        "pageCur": 0,
        "refundItemsList": [
            {
                "amount": 832,
                "deliverdQuantity": 0,
                "quantity": 1,
                "measureUnit": "9ab65d64-274f-4b5c-9b07-df1cf3c80524",
                "parentId": "202112151427282572983",
                "productName": "袋装水泥32.5",
                "skuName": "P.O32.5R",
                "productCode": "7020201",
                "price": 832,
                "id": "202112151427282594935",
                "skuCode": "702020100026",
                "refundAmount": 832
            }
        ],
        "pageNum": 0,
        "customerName": "山东信诺商贸有限公司",
        "arriveTime": "2021-12-15T14:27:28.202+08:00[Asia/Shanghai]",
        "createdTime": "2021-12-15 14:27:28",
        "orderCode": "O202111150112514592844",
        "id": "202112151427282572983",
        "customer": "b6bf4e53-0f7c-410e-89ff-90907d47f6b8"
    }
]));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题