Create array from JSON object JavaScript


Suppose, we have the following JSON object −

const obj = {
   "test1": [{
      "1": {
      "rssi": -25,
   }
   }, {
      "2": {
         "rssi": -25,
      }
   }],
   "test2": [{
      "15": {
         "rssi": -10,
      } }, {
         "19": {
         "rssi": -21,
      }
   }]
};

We are required to write a JavaScript function that takes in an object like this −

The function should then map the "rssi" property of all the nested objects to a corresponding nested array of arrays.

Therefore, for the above array, the output should look like this −

const output = [[-25, -25], [-10, -21]];

Example

const obj = {
   "test1": [{
      "1": {
         "rssi": -25,
      }
   }, {
      "2": {
      "rssi": -25,
   }
}],
"test2": [
   {
      "15":
      { "rssi": -10,
      }
      }, {
         "19": {
         "rssi": -21,
      }
   }]
};
const mapToValues = (object = {}) => {
   const res = [];
   for (let key in object) {
      let obj = object[key];
      let aux = [];
      for (let i = 0; i < obj.length; i++) {
         for (x in obj[i]) {
            aux.push(obj[i][x].rssi);
         }
      }
      res.push(aux);
   }
   return res;
};
console.log(mapToValues(obj));

Output

And the output in the console will be −

[ [ -25, -25 ], [ -10, -21 ] ]

Updated on: 21-Nov-2020

935 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements