Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm kiếm theo id và xóa đối tượng khỏi mảng JSON trong JavaScript

Giả sử, chúng ta có một mảng đối tượng chứa dữ liệu về một số bộ phim như thế này -

const arr = [
   {id: "1", name: "Snatch", type: "crime"},
   {id: "2", name: "Witches of Eastwick", type: "comedy"},
   {id: "3", name: "X-Men", type: "action"},
   {id: "4", name: "Ordinary People", type: "drama"},
   {id: "5", name: "Billy Elliot", type: "drama"},
   {id: "6", name: "Toy Story", type: "children"}
];

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng như đối số đầu tiên và một chuỗi id làm đối số thứ hai. Sau đó, hàm của chúng ta sẽ tìm kiếm đối tượng theo id đó và nếu mảng chứa đối tượng đó, chúng ta nên xóa nó khỏi mảng.

Ví dụ

Mã cho điều này sẽ là -

const arr = [
   {id: "1", name: "Snatch", type: "crime"},
   {id: "2", name: "Witches of Eastwick", type: "comedy"},
   {id: "3", name: "X-Men", type: "action"},
   {id: "4", name: "Ordinary People", type: "drama"},
   {id: "5", name: "Billy Elliot", type: "drama"},
   {id: "6", name: "Toy Story", type: "children"}
];
const removeById = (arr, id) => {
   const requiredIndex = arr.findIndex(el => {
      return el.id === String(id);
   });
   if(requiredIndex === -1){
      return false;
   };
   return !!arr.splice(requiredIndex, 1);
};
removeById(arr, 5);
console.log(arr);

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

[
   { id: '1', name: 'Snatch', type: 'crime' },
   { id: '2', name: 'Witches of Eastwick', type: 'comedy' },
   { id: '3', name: 'X-Men', type: 'action' },
   { id: '4', name: 'Ordinary People', type: 'drama' },
   { id: '6', name: 'Toy Story', type: 'children' }
]