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

Gán thuộc tính true/false cho đối tượng trong mảng dựa trên id khớp - JavaScript


Dùng reduce() và map() để gán matchingResult true/false cho mảng đầu tiên dựa trên id có trong mảng thứ hai.

Ví dụ

Mã thực hiện:

let firstDetails=[{"studentId":101,"studentName":"John"},{"studentId":102,"studentName":"David"},{"studentId":103,"studentName":"Bob"}] 
let secondDetails=[{"studentId":101,"studentName":"Robert"},{"studentId":109,"studentName":"Mike"},{"studentId":103,"studentName":"Adam"}] 
const obj = secondDetails.reduce((o, v) => (o[v.studentId] = true, o), {}) 
const output = firstDetails.map(v => ({ ...v, matchingResult: obj[v.studentId] || false})) 
console.log(output)

Chạy lệnh:

node fileName.js.

Tên file: demo316.js.

Kết quả

Đầu ra:

PS C:\Users\Amit\javascript-code> node demo316.js 
[ 
  { studentId: 101, studentName: 'John', matchingResult: true }, 
  { studentId: 102, studentName: 'David', matchingResult: false }, 
  { studentId: 103, studentName: 'Bob', matchingResult: true } 
]