【问题标题】:Display multiple parts of an object?显示对象的多个部分?
【发布时间】:2016-07-12 16:49:29
【问题描述】:

这个对象给出了分数和作业名称:

   var job0= {
               score: 100,
               name: "Project Manager"
             }


$('#scoreTest').text(job0.score +'   ' + job0.name)

我试图让工作 96-100 也成为具有上述工作名称和分数的对象。问题是我无法通过数组传递作业名称来找到使用上述对象策略的 3 个最高分数。我只能通过分数#。我将如何通过#highest1、#Highest2、#Highest3 传递作业名称来显示作业名称?

var job95 = 100;
    var job96 = 100;
    var job97 = 100;
    var job98 = 100;
    var job99 = 100;
    var job100 = 100;


var numArray = [job95,job96, job97, job98, job99,job100]
$('#highest').html(Math.max.apply(Math,numArray));

numArray.sort(function(a, b) {
  return a - b;
});
//Get the highest 3
var top3Arr = numArray.slice(-3);

var firsthighest = top3Arr[2] ;
var secondHighest = top3Arr[1];
var thirdHighest = top3Arr[0];

$('#highest1').html(firsthighest +' '+ job0.name)
$('#highest2').html(secondHighest)
$('#highest3').html(thirdHighest)
});

【问题讨论】:

  • 为什么不直接使用数组来处理作业?
  • 嘿@NinaScholz!你能给我举个例子吗?谢谢!

标签: javascript jquery arrays object


【解决方案1】:

您可以对对象直接使用数组。

var jobs = [{
        score: 10,
        name: "Project Manager"
    }, {
        score: 20,
        name: "Team Leader"
    }, {
        score: 42,
        name: "Worker"
    }, {
        score: 99,
        name: "Worker"
    }, {
        score: 100,
        name: "Worker"
    }],
    top3;

jobs.sort(function (a, b) { return b.score - a.score; });
top3 = jobs.slice(0, 3);

console.log(top3);

【讨论】:

  • 绝妙的答案!感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多