0

This is the data i have and i want to loop over it in javascript since it is not an array map is not working can anybody help me loop over it or convert it into array then loop?

{
"7/15/2021": {
    "date": "2021-07-15T00:00:00",
    "value": [
        "e1",
        "e 2"
    ]
},
"7/12/2021": {
    "date": "2021-07-12T00:00:00",
    "value": [
        "e 3",
        "4",
        "e 5",
        "e 6"
    ]
}}
  • 1
    [`Object.keys()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys)/[`Object.values()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values)/[`Object.entries()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)/[`for...in`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) – VLAZ Jul 20 '21 at 09:53

1 Answers1

1

Since this is an object you can make use of Object.keys which will return the list of keys in an object.

const data = {
  "7/15/2021": {
    "date": "2021-07-15T00:00:00",
    "value": [
      "e1",
      "e 2"
    ]
  },
  "7/12/2021": {
    "date": "2021-07-12T00:00:00",
    "value": [
      "e 3",
      "4",
      "e 5",
      "e 6"
    ]
  }
}
Object.keys(data).forEach((key) => {
  console.log('Key -> ', key);
  Object.keys(data[key]).forEach((internalKey) => {
    console.log('Internal Key -> ', internalKey);
    if (Array.isArray(data[key][internalKey])) {
      data[key][internalKey].forEach((node) => {
        console.log('data node -> ', node);
      })
    }
  })
})
Nitheesh
  • 19,238
  • 3
  • 22
  • 49