js合并两个有序数组为一个有序数组

面试碰到这个题了,感觉挺有意思,回来仔细琢磨了一下,具体代码实现如下:

var a1=[1,4,7,9,10]
var a2=[2,3,6,8]
var a3=[]
var j = 0
var i = 0
var l1 = a1.length
var l2 = a2.length
var loop = function () {
  if (a1[j] < a2[i]) {
    a3.push(a1[j])
    j++
    if (j < l1) {
      loop()
    } else {
      a3 = a3.concat(a2.slice(i, l2))
    }
  } else {
    a3.push(a2[i])
    i++
    if (i < l2) {
      loop()
    } else {
      a3 = a3.concat(a1.slice(j, l1))
    }
  }
}
loop()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,924评论 25 708
  • 参考书目:《运营之光》 001 所谓运营,就是为了帮助建立产品与用户间的长期关系,以及更好地维系住这种关系而运用的...
    付拉拉阅读 356评论 0 0
  • 我是一只漂流瓶,一只寂寞忧愁的漂流瓶。 海水嘭嘭地打击着我,这就是生活中所谓的风雨吧。我想我以坚持不住,可为什么你...
    若希记阅读 251评论 0 0