Giả sử chúng ta có một mảng các đối tượng như sau:
const arr = [{id:1,name:"aa"},{id:2,name:"bb"},{id:3,name:"cc"}];Chúng ta cần viết một hàm JavaScript nhận vào mảng này và trả về một đối tượng mà khóa của mỗi đối tượng con là thuộc tính id.
Kết quả mong đợi sẽ trông như sau:
const output = {1:{name:"aa"},2:{name:"bb"},3:{name:"cc"}};Lưu ý rằng thuộc tính id được dùng để làm khóa đã bị xóa khỏi các đối tượng con.
Ví dụ
Mã thực hiện như sau:
const arr = [{id:1,name:"aa"},{id:2,name:"bb"},{id:3,name:"cc"}];
const arrayToObject = arr => {
const res = {};
for(let i = 0; i < arr.length; i++){
const key = arr[i]['id'];
res[key] = arr[i];
delete res[key]['id'];
};
return res;
};
console.log(arrayToObject(arr));Kết quả
Kết quả in ra console sẽ là:
{ '1': { name: 'aa' }, '2': { name: 'bb' }, '3': { name: 'cc' } }