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

ตั้งค่าคุณสมบัติของอ็อบเจ็กต์ในอาร์เรย์ true/false ว่า id ตรงกับ id ใดจากอาร์เรย์ของอ็อบเจกต์อื่นใน JavaScript หรือไม่


ในการตั้งค่าคุณสมบัติของอ็อบเจ็กต์ในอาร์เรย์ true/false ไม่ว่า id จะตรงกับ id จากอ็อบเจกต์อื่นหรือไม่ คุณสามารถใช้ reduce() ร่วมกับ map()

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

let
firstDetails=[{"studentId":101,"studentName":"John"},{"studentI d":102,"studentName":"David"},{"studentId":103,"studentName":"B ob"}]
let
secondDetails=[{"studentId":101,"studentName":"Robert"},{"stude ntId":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)

ในการรันโปรแกรมข้างต้น คุณต้องใช้คำสั่งด้านล่าง −

node fileName.js.

ที่นี่ ชื่อไฟล์ของฉันคือ demo316.js

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

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 }
]