Giả sử chúng ta có đối tượng JSON sau:
const obj = {
"test1": [{
"1": {
"rssi": -25,
}
}, {
"2": {
"rssi": -25,
}
}],
"test2": [{
"15": {
"rssi": -10,
} }, {
"19": {
"rssi": -21,
}
}]
};Chúng ta cần viết hàm JavaScript nhận vào đối tượng này.
Hàm ánh xạ thuộc tính "rssi" của tất cả đối tượng lồng nhau thành mảng lồng nhau tương ứng.
Kết quả mong đợi:
const output = [[-25, -25], [-10, -21]];
Ví dụ
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));Kết quả
Kết quả in ra console:
[ [ -25, -25 ], [ -10, -21 ] ]