此对象提供分数和作业名称:
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)
});
答案 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);