📅  最后修改于: 2023-12-03 15:21:52.860000             🧑  作者: Mango
在 JavaScript 中通过对象来存储数据是非常常见的做法,比如在一个电话簿应用中,我们可以用一个对象来存储每位联系人的姓名和电话号码。但是,在这样的应用中,我们有时需要从对象中找到最便宜的电话号码,那么该如何实现呢?
下面我们来介绍一个简单的方法。
首先,我们需要创建一个对象来存储联系人的姓名和电话号码,可以用一个数组来存储这些对象,如下所示:
const contacts = [
{ name: 'Tom', phone: '13800000001' },
{ name: 'Jerry', phone: '13800000002' },
{ name: 'Mike', phone: '13800000003' },
{ name: 'Mary', phone: '13800000004' },
];
现在,我们需要找到这些联系人中最便宜的电话号码。我们可以使用 reduce
方法来实现:
const cheapestPhone = contacts.reduce((cheapest, contact) => {
if (!cheapest || contact.phone < cheapest.phone) {
return contact;
} else {
return cheapest;
}
}, null).phone;
上面的代码中,我们先定义一个初始值为 null
的变量 cheapest
,然后遍历数组中的每个对象,如果该对象的 phone
属性比 cheapest.phone
属性小,那么就将该对象赋值给 cheapest
变量,否则就不做处理。最后,我们返回 cheapest.phone
属性即可。
现在,我们将上面的代码整合在一起,得到完整的代码如下所示:
const contacts = [
{ name: 'Tom', phone: '13800000001' },
{ name: 'Jerry', phone: '13800000002' },
{ name: 'Mike', phone: '13800000003' },
{ name: 'Mary', phone: '13800000004' },
];
const cheapestPhone = contacts.reduce((cheapest, contact) => {
if (!cheapest || contact.phone < cheapest.phone) {
return contact;
} else {
return cheapest;
}
}, null).phone;
console.log(cheapestPhone);
运行上面的代码,我们将得到最便宜的电话号码:“13800000001”。
通过上面的介绍,我们知道了如何从 JavaScript 中的对象获取最便宜的电话号码。虽然这个示例比较简单,但是有了这个示例作为基础,我们可以更加自信地处理各种复杂的数据对象了。