從 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+ 檢視次數

開啟你的 職業生涯

透過完成該課程進行認證

開始動手
廣告