自己最先写的方案1: // 传参两个数组,返回合并后的数组 function mergeArray(a,b){ var times = a.length + b.length, c = []; for (var i = 0; i < times; i++) { if (a.length && b.length) { if (a[0] < b[0]) { var temp = a.shift(); c.push(temp); } else if (a[0] == b[0]){ c.push(a.shift()); b.shift(); } else { c.push(b.shift()); } } else if (a.length && !(b.length)) { c = c.concat(a); return c; } else { c= c.concat(b); return c; } } } console.log(mergeArray([1,2,2,5,6,6,10],[2,3,3,4,6,7])); console.log(mergeArray([3,4,7,8,9],[1,3,4,5,7]));