Home > Mobile >  Get Date from Nested Array of Objects and set that date as an Key in Node.js
Get Date from Nested Array of Objects and set that date as an Key in Node.js

Time:09-09

I'm using Node.js I have data like this:

const data= [
        {"id":"1","date":"2022-09-07T15:56:32.279Z","req_id":"98"},
        {"id":"2","date":"2022-09-08T15:48:19.075Z","req_id":"97"},
        {"id":"3","date":"2022-09-06T15:48:19.073Z","req_id":"96"}
       {"id":"4","date":"2022-09-06T15:48:19.073Z","req_id":"96"}
        ]

I want data in this format:

expected Output:

"2022-09-06":[
{"id":"4","date":"2022-09-06T15:48:19.073Z","req_id":"96"},
{"id":"3","date":"2022-09-06T15:48:19.073Z","req_id":"96"}
]
"2022-09-08":[
{"id":"2","date":"2022-09-08T15:48:19.075Z","req_id":"97"}
]
"2022-09-07":[
{"id":"1","date":"2022-09-07T15:56:32.279Z","req_id":"98"}
]

CodePudding user response:

Straightforward solution using regex:

let result = new Map();
for (const item of data) {
    let date = item['date'].match(/\d{4}-\d{2}-\d{2}/)[0];
    let items = result.get(date) || [];
    items.push(item);
    result.set(date, items)
}

CodePudding user response:

Assuming the dates are always in the same format, I would do something like this:

function mapData(data){
    // returns the given date as an string in the "           
  • Related