好的,直截了当,我有这个数组:
var arr = [
{
"job": "j1",
"at": 0,
"bt": 8
},
{
"job": "j2",
"at": 2,
"bt": 3
},
{
"job": "j3",
"at": 3,
"bt": 1
},
{
"job": "j1",
"at": 6,
"bt": 3
}
]
其中at
是到达时间,bt
是突发时间。好的,我有这个排序功能:
Array.prototype.sort = function(by) {
this.sort(function(a,b){
if(a[by] < b[by])
return -1;
if(a[by] > b[by])
return 1;
return 0;
});
};
根据给定参数对对象数组进行排序。现在我想迭代所有元素,然后迭代每个元素的突发时间,并在任何其他元素包含等于当前时间的到达时间时停止。当找到匹配时,比较它们的突发时间,如果另一个元素的突发时间更小,则将当前元素的经过时间减去其突发时间,然后继续下一个元素。
到目前为止,我有这个逻辑,但仍然找不到实现它的方法:
for(i = 0; i < arr.length; i++) {
for(j = arr[i].at; j < arr[i].bt; j++){
// some other things
}
}