📜  从 javascript 中的对象获取最便宜的电话(1)

📅  最后修改于: 2023-12-03 15:21:52.860000             🧑  作者: Mango

从 JavaScript 中的对象获取最便宜的电话

在 JavaScript 中通过对象来存储数据是非常常见的做法,比如在一个电话簿应用中,我们可以用一个对象来存储每位联系人的姓名和电话号码。但是,在这样的应用中,我们有时需要从对象中找到最便宜的电话号码,那么该如何实现呢?

下面我们来介绍一个简单的方法。

1. 创建数据对象

首先,我们需要创建一个对象来存储联系人的姓名和电话号码,可以用一个数组来存储这些对象,如下所示:

const contacts = [
  { name: 'Tom', phone: '13800000001' },
  { name: 'Jerry', phone: '13800000002' },
  { name: 'Mike', phone: '13800000003' },
  { name: 'Mary', phone: '13800000004' },
];
2. 找到最便宜的电话

现在,我们需要找到这些联系人中最便宜的电话号码。我们可以使用 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 属性即可。

3. 完整代码

现在,我们将上面的代码整合在一起,得到完整的代码如下所示:

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”。

4. 总结

通过上面的介绍,我们知道了如何从 JavaScript 中的对象获取最便宜的电话号码。虽然这个示例比较简单,但是有了这个示例作为基础,我们可以更加自信地处理各种复杂的数据对象了。