Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหาจากอาร์เรย์ของวัตถุผ่านอาร์เรย์ของสตริงเพื่อรับอาร์เรย์ของวัตถุใน JavaScript


สมมุติว่าเรามีอาร์เรย์หนึ่งอาร์เรย์และอีกอาร์เรย์หนึ่งของอ็อบเจ็กต์เช่นนี้ −

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' },
];

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์สองอาร์เรย์ดังกล่าว จากนั้นฟังก์ชันของเราควรส่งคืนอาร์เรย์ที่สองที่กรองแล้วซึ่งมีเฉพาะวัตถุที่มีคุณสมบัติ "KEY" อยู่ในอาร์เรย์แรกเป็นสตริง

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

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));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

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