从 JSON 对象创建 JavaScript 数组


假设,我们有以下 JSON 对象 −

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

我们需要编写一个 JavaScript 函数,它接收一个像这样的对象 −

然后,该函数应该将所有嵌套对象的 “rssi” 属性映射到相应的数组的嵌套数组。

因此,对于上述数组,输出应如下所示 −

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

示例

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));

输出

控制台中的输出如下 −

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

更新于:21-11-2020

1K+ 查看次数

开启你的 职业生涯

通过完成该课程进行认证

开始动手
广告