ภาพรวม
สมมติว่าเรามี JSON object:
const obj = {
"test1": [
{ "1": { "rssi": -25 } },
{ "2": { "rssi": -25 } }
],
"test2": [
{ "15": { "rssi": -10 } },
{ "19": { "rssi": -21 } }
]
};
เราต้องเขียนฟังก์ชันที่แมปคุณสมบัติ "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 ] ]