猿问

js 数组合并问题

业务描述,在日历上显示一个月跑步的日期日历这快完全是用前端js实现的,所以只需要后台给一个跑步日期的数组插进日历的数组里就行了,我的思路是做两层循环,但是这样计算量很大,有没有更好的方法?
后台返回一个月中跑步的日期
[1,4,6,8,21]
前端某月日历数组
[{day:1},{day:2}......{day:31}]
希望合并的最后的结果是
[{day:1,isrun:false},{day:2,isrun:false}...{day:4,isrun:true}...{day:6,isrun:true}....{day:31,isrun:false}]
莫回无
浏览 311回答 2
2回答

侃侃无极

首先,反对推荐答案,indexOf只是语法糖,内部还是循环如果这样做,我想了很久,没有想到什么好办法,但是上面的答案也绝对不对,你想下map、indexOf、include这些方法内部原理是不是还是循环?只是被封装的很好,使你的代码看起来很优雅。那么,我们换个思路letdays=[2,4,5,7];letrun=[{day:1},{day:2}......{day:31}];for(leti=0;i

素胚勾勒不出你

vara=[1,4,6,8,21];varb=[{day:1},{day:2}......{day:31}];确保b是事个“完整”的列表,这个前提下,a的成员的值,就是b的成员的索引值。即:$.map(a,function(v){b[v-1].isrun=true});
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答