简体   繁体   中英

How to convert nested array of object into arraylist in javascript?

i have a nested array of object and i want to convert in arraylist like this: this is my data array of object:

{
    "status": true,
    "message": "",
    "data": [{
            "pasien_docs": [{
                    "ecg": null,
                    "date": "2020-01-21T05:22:01.901Z"
                }, {
                    "ecg": 1.03,
                    "date": "2020-01-21T05:22:02.979Z"
                }, {
                    "ecg": 1.04,
                    "date": "2020-01-21T05:22:04.053Z"
                }, {
                    "ecg": 1.04,
                    "date": "2020-01-21T05:22:05.126Z"
                },
            ]
        }
    ]
}

and i want change convert to array like this:

{
    "status": true,
    "message": "",
    "data": [
        [
            "2020-01-21T05:22:01.901Z",
            null
        ],
        [
            "2020-01-21T05:22:01.901Z",
            1, 03
        ]
        [
            "2020-01-21T05:22:01.901Z",
            1.04
        ]
        [
            "2020-01-21T05:22:01.901Z",
            1.04
        ]
    ]
 }

i try using map to convert on result like this:

result = result.map((u, i) => [
            u.pasien_docs[i].date,
            u.pasien_docs[i].ecg,
        ]);

but why i only get result data of one array not four data? help me please, thankyou..

{
    "status": true,
    "message": "",
    "data": [
        [
            "2020-01-21T05:22:01.901Z",
            null
        ]
    ]
}

Would that work for you?

 const src = {"status":true,"message":"","data":[{"pasien_docs":[{"ecg":null,"date":"2020-01-21T05:22:01.901Z"},{"ecg":1.03,"date":"2020-01-21T05:22:02.979Z"},{"ecg":1.04,"date":"2020-01-21T05:22:04.053Z"},{"ecg":1.04,"date":"2020-01-21T05:22:05.126Z"},]}]}, result = {...src, data: src.data[0].pasien_docs.map(Object.values) } console.log(result)
 .as-console-wrapper{min-height:100%;}

If you dont wanna use spread operator, this can also do the trick for you

const source = {"status":true,"message":"","data":[{"pasien_docs":[{"ecg":null,"date":"2020-01-21T05:22:01.901Z"},{"ecg":1.03,"date":"2020-01-21T05:22:02.979Z"},{"ecg":1.04,"date":"2020-01-21T05:22:04.053Z"},{"ecg":1.04,"date":"2020-01-21T05:22:05.126Z"},]}]}

const result = Object.assign({}, source, {
  data: source.data[0].pasien_docs.map(Object.values)
})

console.log(result)

 let obj = { status: true, message: "", data: [ { pasien_docs: [ { ecg: null, date: "2020-01-21T05:22:01.901Z", }, { ecg: 1.03, date: "2020-01-21T05:22:02.979Z", }, { ecg: 1.04, date: "2020-01-21T05:22:04.053Z", }, { ecg: 1.04, date: "2020-01-21T05:22:05.126Z", }, ], }, ], }; var finalobj = JSON.parse(JSON.stringify(obj)); var innerobj = obj.data; var intermd = innerobj.map((data) => { return data.pasien_docs; }); finalarray = intermd[0].map((val) => { return [val.ecg, val.date]; }); console.log(obj); finalobj.data[0].pasien_docs=finalarray; console.log(finalobj);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM