【问题标题】:Javascript function who is older comparing two objects比较两个对象的年龄较大的Javascript函数
【发布时间】:2018-10-10 18:35:02
【问题描述】:

我正在努力弄清楚如何为我的班级编写这个函数,给定这些对象并返回两个最老的人之间的名字。

({name: "Justin", age: 23}, {name: "Shawn", age: 19}) => returns "Justin"

({name: "Taylor", age: 27}, {name: "Katy", age: 32}) => returns "Katy"

({name: "Miley", age: 24}, {name: "Ariana", age: 24})=> returns null

过去几个小时我一直在寻找它,但仍然空手而归。如果有人能指出我正确的方向,我将不胜感激。

【问题讨论】:

  • 你已经尝试过什么,你得到了什么输出?请张贴您已经编写的代码的 sn-ps。
  • StackOverflow 不是免费的编码服务。所以希望你try to solve your own problem first。请更新您的问题以在minimal reproducible example 中显示您已经尝试过的内容。如需更多信息,请参阅How to Ask,并拨打tour :)
  • 提示:以if (arg1.age > arg2.age)开头
  • 您现在如何引用对象中的属性?你知道如何比较数字吗?
  • 这就是我被卡住的地方,在设置这个时,只是试图指向正确的方向

标签: javascript object


【解决方案1】:

创建一个函数,将每个对象与Object.values() 组成一个数组,然后比较两个数组中的array[1](这将是年龄的位置),看看哪个更大,然后从获胜数组(因为那将是名称位置)。

记住将每个数组存储到函数内部的一个变量中。

不仅如此,我还会为你编写作业代码。 如果需要,请在网上搜索这些方法以查看其工作原理。

【讨论】:

    【解决方案2】:

    StackOverflow 并不能真正为您解决家庭作业问题,但这种布局可能会为您指明有用的方向。

    const group = [
      {name: "Justin", age: 23}, 
      {name: "Shawn", age: 19}
      {name: "Taylor", age: 27}, 
      {name: "Katy", age: 32}
      {name: "Miley", age: 24}, 
      {name: "Ariana", age: 24},
    ];
    
    const reducer = ({name: minName, age: minAge}, {name: curName, age: curAge}) =>
      /* comparator function */;
    
    const lowest = group.reduce(reducer, group[0]);

    【讨论】:

      猜你喜欢
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-26
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      相关资源
      最近更新 更多