Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Khớp giữa 2 mảng trong JavaScript

Cho hai mảng: một mảng chuỗi, một mảng object.

const data = [
  { name: 'Kamlesh Kapasi', uid: 123 },
  { name: 'Mahesh Babu', uid: 129 },
  { name: 'Akshay Kapoor', uid: 223 },
  { name: 'Vikas Gupta', uid: 423 },
  { name: 'Mohit Dalal', uid: 133 },
  { name: 'Rajkumar Hirani', uid: 233 },
  { name: 'Joy', uid: 127 }
];
const names = ['Joy', 'Rajkumar Hirani', 'Akshay Kapoor', 'Mahesh Babu', 'Mohit Dalal', 'Kamlesh Kapasi', 'Vikas Gupta']

Viết hàm duyệt mảng names, xây dựng mảng số chứa uid theo đúng thứ tự names.

Ví dụ

const data = [
  { name: 'Kamlesh Kapasi', uid: 123 },
  { name: 'Mahesh Babu', uid: 129 },
  { name: 'Akshay Kapoor', uid: 223 },
  { name: 'Vikas Gupta', uid: 423 },
  { name: 'Mohit Dalal', uid: 133 },
  { name: 'Rajkumar Hirani', uid: 233 },
  { name: 'Joy', uid: 127 }
];
const names = ['Joy', 'Rajkumar Hirani', 'Akshay Kapoor', 'Mahesh Babu', 'Mohit Dalal', 'Kamlesh Kapasi', 'Vikas Gupta']

const mapId = (arr, names) => {
  return names.reduce((acc, val) => {
    const index = arr.findIndex(el => el.name === val);
    return acc.concat(arr[index].uid);
  }, []);
}

console.log(mapId(data, names));

Kết quả

Đầu ra trong console sẽ là:

[ 127, 233, 223, 129, 133, 123, 423 ]