显示对象的多个部分?

时间:2016-07-12 16:49:30

标签: javascript jquery arrays object

此对象提供分数和作业名称:

   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)
});

1 个答案:

答案 0 :(得分:3)

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

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);