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

Cách so sánh hai mảng khi khóa là một chuỗi - JavaScript

Giả sử sau đây là mảng đầu tiên của chúng tôi -

const firstArray = [
   { "name": "John Doe" },
   { "name": "John Smith" },
   { "name": "David Miller" },
   { "name": "Bob Taylor" },
   { "name": "Carol taylor" },
   { "name": "Adam Smith" },
];

Giả sử sau đây là mảng thứ hai của chúng tôi -

const secondArray = [
   { "name": "Adam Smith" },
   { "name": "John Doe" },
   { "name": "David Miller" },
   { "name": "James Taylor" }
];

Để so sánh, hãy sử dụng map () và include ().

Ví dụ

Sau đây là mã -

const firstArray = [
   { "name": "John Doe" },
   { "name": "John Smith" },
   { "name": "David Miller" },
   { "name": "Bob Taylor" },
   { "name": "Carol taylor" },
   { "name": "Adam Smith" },
];
const secondArray = [
   { "name": "Adam Smith" },
   { "name": "John Doe" },
   { "name": "David Miller" },
   { "name": "James Taylor" }
];
const getAllValue = ({ 'name': name }) => name;
const result = firstArray
   .map(getAllValue)
   .filter(value => secondArray
      .map(getAllValue)
      .includes(value)
   );
console.log(result);

Để chạy chương trình trên, bạn cần sử dụng lệnh sau -

node fileName.js.

Đây, tên tệp của tôi là demo251.js

Đầu ra

Điều này sẽ tạo ra kết quả sau trên bảng điều khiển -

PS C:\Users\Amit\javascript-code> node demo251.js
[ 'John Doe', 'David Miller', 'Adam Smith' ]