如何通过特定属性对 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}
];

假设我们需要按 amount 属性过滤对象数组。其中 amount 最大值的对象被认为是符合要求的对象。

示例

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

更新时间: 07-Sep-2020

513 次浏览

启动你的 职业

完成课程,获得认证

开始
广告