首页 > 试题广场 >

数组合并

[编程题]数组合并
  • 热度指数:73817 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组

输入描述:
[1, 2, 3, 4], ['a', 'b', 'c', 1]


输出描述:
[1, 2, 3, 4, 'a', 'b', 'c', 1]
示例1

输入

[1, 2, 3, 4], ['a', 'b', 'c', 1]

输出

[1, 2, 3, 4, 'a', 'b', 'c', 1]
function concat(arr1, arr2) {
     var len1 = arr1.length;
     var len2 = arr2.length;
     var len = len1 + len2;
    var k = 0;
     var result = [];
     for(var i = 0;i < len1;i++)
         {
             result[i] =arr1[i];
         }
    for(var j = len1 ;j < len1 + len2;j++ )
        {
            result[j] = arr2[k++];
        }
    return result;
}
最笨的方法。。

发表于 2016-04-22 09:54:43 回复(1)
function concat(arr1, arr2) {
    return arr1.concat(arr2);
}
发表于 2021-12-13 10:50:11 回复(0)
// ES6扩展操作符
function concat(arr1, arr2) {
    return [...arr1,...arr2];
}
// concat 合并数组
function concat(arr1, arr2) {
    return arr1.concat(arr2);
}

发表于 2021-09-11 14:21:45 回复(0)
function concat(arr1, arr2) {
    if(arr1.concat) return arr1.concat(arr2)
    return [...arr1, arr2]
}

发表于 2021-08-25 12:32:35 回复(0)

补充一个,利用解构

function concat(arr1, arr2) {
    return [...arr1,...arr2];
}
发表于 2021-04-26 00:09:56 回复(0)
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;
}

发表于 2019-08-08 21:18:30 回复(0)
function concat(arr1, arr2) {
    var result = arr1.slice();
    for(var i = 0;i<arr2.length;i++){
        result.push(arr2[i])
    }
    return result
}

发表于 2018-07-14 23:48:46 回复(0)
ES6解法
//ES6
function concat(arr1, arr2) {
   return [...arr1, ...arr2]
}
// ES5
function concat(arr1, arr2) {
    return (arr1.join("") + arr2.join("")).split("")
}

发表于 2018-03-23 17:08:06 回复(0)
function concat(arr1, arr2) {
    var newarr=arr1.concat(arr2);
    return newarr;
}
发表于 2017-09-29 15:35:46 回复(0)
function concat(arr1, arr2) {
	var c = arr1.concat(arr2)
	return c;
}

编辑于 2017-09-07 15:07:50 回复(0)
function concat(arr1, arr2) {
	var arrNew = [];
    for(i = 0; i < arr1.length; i++){
        arrNew[i] = arr1[i];
    }
    for(j = 0; j < arr2.length; j++){
        arrNew[arr1.length+j] = arr2[j];
    }
    return arrNew;
}

发表于 2017-08-05 17:15:57 回复(0)
function concat(arr1, arr2) {
  return arr1.concat(arr2);
}
concat()方法可以基于当前数组中的所有项创建一个新数组。具体来说,这个方***创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾。
发表于 2017-07-30 13:18:51 回复(0)
function concat(arr1, arr2) {
        var result = [];
        for(var i = 0,len1 = arr1.length; i < len1; i++){
            result[i] = arr1[i];
        }
        for(var j = 0,len2 = arr2.length; j < len2; j++){
            result[j + len1] = arr2[j];
        }
        return result;
    }

发表于 2017-02-22 22:20:19 回复(0)
function concat(arr1, arr2) {
var str = arr1.join('-')+'-'+arr2.join('-');
    return str.split('-');
}
发表于 2016-12-01 16:03:32 回复(0)
function concat(arr1, arr2) {
return arr1.concat(arr2);
}
发表于 2016-10-19 17:25:10 回复(0)
function concat(arr1, arr2) {
    return (arr1.join()+','+arr2.join()).split(',');
}
发表于 2016-09-13 22:52:29 回复(1)
function concat(arr1, arr2) {
	return arr1.concat(arr2);
}
简单粗暴上concat()
发表于 2016-08-24 16:10:37 回复(0)
//利用concat
function concat(arr1, arr2) {
    return arr1.concat(arr2);
}
//利用slice+push.apply 
function concat(arr1, arr2) {
    var newArr=arr1.slice(0);
    [].push.apply(newArr, arr2);
    return newArr;
}
//利用slice+push 
function concat(arr1, arr2) {
    var newArr=arr1.slice(0);
    for(var i=0;i<arr2.length;i++){
        newArr.push(arr2[i]);
    }
    return newArr;
}
//普通的迭代拷贝
function concat(arr1, arr2) {
    var newArr=[];
    for(var i=0;i<arr1.length;i++){
        newArr.push(arr1[i]);
    }
    for(var j=0;j<arr2.length;j++){
        newArr.push(arr2[j]);
    }
    return newArr;
}

发表于 2016-08-28 16:53:41 回复(18)
function concat(arr1, arr2) {
return arr1.concat(arr2)
}
发表于 2015-07-09 16:02:23 回复(6)
function concat(arr1, arr2) {
    return [...arr1, ...arr2];
}

发表于 2019-09-09 13:56:44 回复(0)