[1, 2, 3, 4], ['a', 'b', 'c', 1]
[1, 2, 3, 4, 'a', 'b', 'c', 1]
[1, 2, 3, 4], ['a', 'b', 'c', 1]
[1, 2, 3, 4, 'a', 'b', 'c', 1]
function concat(arr1, arr2) { return arr1.concat(arr2); } function concat(arr1, arr2) { var a = arr1.slice(); arr2.forEach(function(ele) { a.push(ele); }) return a; }
function concat(arr1, arr2) { if(Array.prototype.concat){ return arr1.concat(arr2); }else { var newArr = arr1.slice(0); for(var i in arr2){ newArr.push(arr2[i]); } return newArr; } }首先可以想到concat拼接数组,所以我们可以做一个兼容性判断,如果浏览器支持这个方法我们就直接用,然后我们再考虑不兼容的问题, 也是和之前的思路一样,new一个空数组,通过slice复制数组达到不修改数组实现操作,然后把第二个数组循环push到新数组中,达到目的。