题目 1 JS完成
a = [
{time:1},
{time:5},
{time:8},
{time:11},
{time:16},
{time:17},
{time:29},
{time:34},
{time:39}
];
time_line = [3,7,12,17,19,31,40];
请找出,根据time_line,找到a数组中最近的一个数(数组a的值只能被取一次;如果有两个相等,取后面一个;)
返回结果示例 [{line:3,time:5},{line:7,time:8},…]
a=[
{time:1},
{time:5},
{time:8},
{time:11},
{time:16},
{time:17},
{time:29},
{time:34},
{time:39}
];
d=[0,0,0,0,0,0,0,0,0];
time_line=[3,7,12,17,19,31,40];
b=[];
for (var j=0;j<time_line.length;j++){
var re=0;
var ra=0;
c={}
var count=time_line[j];
var chart=a[0].time;
var cs=0;
for (var i=0;i<a.length;i++){
if(d[i]==0){
if(i==0){
re=Math.abs(count-a[i].time)
ra=re;
}else{
re=Math.abs(count-a[i].time)
if(re<=ra){
chart=a[i].time;
cs=i;
ra=re;
}
}
}
}
d[cs]=1;
c.line=count;
c.time=chart;
b.push(c);
}
console.log(b);