javascript - 仅基于 JavaScript 中的一个属性返回整个对象?

标签 javascript html arrays object

我正在编写一个程序,该程序会安排作业,并在截止日期 (dueDate) 之前完成几个小时(配额)。它基于赋值对象数组。

var assignments = [m1 = {
    moduleCode: "346",
    moduleName: "Computer Science",
    quota: 100,
    dueDate: "2019-12-12"
  }, m2 = {
    moduleCode: "360",
    moduleName: "Maths",
    quota: 200,
    dueDate: "2020-05-01"
  }];

我正在编写一个函数来根据某些参数检索对象,例如小时数最多的一个,但我想返回整个对象,而不仅仅是属性。

function getHighestWorkload(assignments) {
  let highestQuota = 0;
  for(var i=0; i<assignments.length; i++) {
    if(assignments[i].quota > highestQuota) {
      highestQuota = assignments[i].quota;
    }
  }
  // Get the entire assignment object based on its quota 
}

有没有办法根据参数返回整个对象? 谢谢。

最佳答案

您可以通过对数组 desc 顺序进行排序,然后获取第一个索引值来完成此操作。

var assignments = [
  {
    moduleCode: "346",
    moduleName: "Computer Science",
    quota: 100,
    dueDate: "2019-12-12"
  },
  {
    moduleCode: "360",
    moduleName: "Maths",
    quota: 200,
    dueDate: "2020-05-01"
  }
];

assignments.sort((a,b) => b.quota - a.quota);

console.log(assignments[0]);

关于javascript - 仅基于 JavaScript 中的一个属性返回整个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60745895/

相关文章:

PHP 连接错误;不允许连接到 MySQL 服务器

html - 是否可以显示设置为溢出 :hidden? 的 div 的内部 div "on top"

javascript - 如何使用 jQuery 将文本复制到客户端的剪贴板?

javascript - 这个 JavaScript 的作用是什么?

javascript - 这个初始化有什么作用? = {}

c# - 读取仅包含字符串的行并将内容合并到上一行

c# - C#中如何将string[]实现为string[]?

java - 将数组列表中的文本附加到字符串需要花费大量时间

java - 子对象数组

javascript - 从父级 JavaScript 访问跨域 IFrame DOM 属性