【发布时间】:2019-12-05 00:13:07
【问题描述】:
https://jsfiddle.net/JungEun1997/nb3o1987/50/
我已经达到了预期的结果,但您希望以更简单的方式查看它。 我尝试使用 map 和 filter 但失败了。
我想以更简单的方式将这个 obj_wrap 更改为 obj_a! (start_num 和 end_num 相差 1)
var obj_wrap = {
'time':[{
'start_num': 10,
'end_num':11
},{
'start_num': 3,
'end_num':4
},{
'start_num': 1,
'end_num':2
},{
'start_num': 2,
'end_num':3
},{
'start_num': 6,
'end_num':7
}]
}
var obj_a = {
'time':[{
'start_num': 1,
'end_num':4
},{
'start_num': 6,
'end_num':7
},{
'start_num': 10,
'end_num':11
}]
}
我用了这个方法。
var obj_b = {'time':[]}
$.each(obj_wrap.time,function(time_key,time_val){
$.each(obj_wrap.time,function(chk_key,chk_val){
if(time_val.start_num === chk_val.end_num){
obj_wrap.time[time_key]['start_num'] = chk_val.start_num
obj_wrap.time[chk_key] = ""
}
if(time_val.end_num === chk_val.start_num){
obj_wrap.time[time_key]['end_num'] = chk_val.end_num
obj_wrap.time[chk_key] = ""
}
});
})
$.each(obj_wrap.time,function(key,value){
if(value!==""){
obj_b.time.push(value)
}
})
obj_b.time.sort(function (a, b) {
return a.start_num < b.start_num ? -1 : a.start_num > b.start_num ? 1 : 0;
});
【问题讨论】:
-
你想通过递增顺序链接
end_nums吗? -
您想在结果中包含空的/无意义的对象吗?因为你现在要推
{ "start_num": "", "end_num": "" },两次。
标签: javascript jquery object