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

กรองอาร์เรย์ของวัตถุตามคุณสมบัติเฉพาะใน JavaScript หรือไม่


ใช้แนวคิดของ map() ร่วมกับโอเปอเรเตอร์ประกอบ (?) ต่อไปนี้เป็นอาร์เรย์ของวัตถุของเรา -

let firstCustomerDetails =
[
   {firstName: 'John', amount: 100},
   {firstName: 'David', amount: 50},
   {firstName: 'Bob', amount: 80}
];
   let secondCustomerDetails =
[
   {firstName: 'John', amount: 400},
   {firstName: 'David', amount: 70},
   {firstName: 'Bob', amount: 40}
];

สมมติว่า เราต้องกรองอาร์เรย์ของวัตถุตามคุณสมบัติจำนวน อันที่มีจำนวนมากที่สุดถือว่าเป็นอันหนึ่ง

ตัวอย่าง

let firstCustomerDetails =
[
   {firstName: 'John', amount: 100},
   {firstName: 'David', amount: 50},
   {firstName: 'Bob', amount: 80}
];
let secondCustomerDetails =
[
   {firstName: 'John', amount: 400},
   {firstName: 'David', amount: 70},
   {firstName: 'Bob', amount: 40}
];
var output = firstCustomerDetails.map((key, position) =>
key.amount > secondCustomerDetails[position].amount ? key :
secondCustomerDetails[position]
);
console.log(output);

ในการรันโปรแกรมข้างต้น คุณต้องใช้คำสั่งต่อไปนี้ -

node fileName.js.

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

ผลลัพธ์

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

PS C:\Users\Amit\JavaScript-code> node demo83.js
[
   { firstName: 'John', amount: 400 },
   { firstName: 'David', amount: 70 },
   { firstName: 'Bob', amount: 80 }
]