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

Tìm kiếm từ một mảng đối tượng thông qua mảng chuỗi để lấy mảng đối tượng trong JavaScript

Giả sử, chúng ta có một mảng chuỗi và một mảng đối tượng khác như thế này -

const arr1 = [ '1956888670', '2109171907', '298845084' ];
const arr2 = [
   { KEY: '1262875245', VALUE: 'Vijay Kumar Verma' },
   { KEY: '1956888670', VALUE: 'Sivakesava Nallam' },
   { KEY: '2109171907', VALUE: 'udm analyst' },
   { KEY: '298845084', VALUE: 'Mukesh Nagora' },
   { KEY: '2007285563', VALUE: 'Yang Liu' },
   { KEY: '1976156380', VALUE: 'Imtiaz Zafar' },
];

Chúng tôi được yêu cầu viết một hàm JavaScript có hai mảng như vậy. Sau đó, hàm của chúng ta sẽ trả về phiên bản đã lọc của mảng thứ hai chỉ chứa những đối tượng có thuộc tính "KEY" được liệt kê trong mảng đầu tiên dưới dạng chuỗi.

Ví dụ

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

const arr1 = [ '1956888670', '2109171907', '298845084' ];
const arr2 = [
   { KEY: '1262875245', VALUE: 'Vijay Kumar Verma' },
   { KEY: '1956888670', VALUE: 'Sivakesava Nallam' },
   { KEY: '2109171907', VALUE: 'udm analyst' },
   { KEY: '298845084', VALUE: 'Mukesh Nagora' },
   { KEY: '2007285563', VALUE: 'Yang Liu' },
   { KEY: '1976156380', VALUE: 'Imtiaz Zafar' },
];
const filterByKey = (arr1 = [], arr2 = []) => {
   let res = [];
   res = arr2.filter(el => {
      const { KEY } = el;
      const index = arr1.indexOf(KEY);
      return index !== -1;
   });
   return res;
};
console.log(filterByKey(arr1, arr2));

Đầu ra

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

[
   { KEY: '1956888670', VALUE: 'Sivakesava Nallam' },
   { KEY: '2109171907', VALUE: 'udm analyst' },
   { KEY: '298845084', VALUE: 'Mukesh Nagora' }
]