Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用循环连接两个阵列_Javascript_Arrays - Fatal编程技术网

Javascript 使用循环连接两个阵列

Javascript 使用循环连接两个阵列,javascript,arrays,Javascript,Arrays,我正在尝试将两个数组,arr1和arr2组合成一个更大的数组。虽然我知道有apply()和push()方法,但我必须使用循环来代替(我猜是更长的方法) var arr1=[1,2,3,4]; var arr2=[5,6,7]; 函数数组(arr1、arr2){ 对于(变量i=0;i

我正在尝试将两个数组,
arr1
arr2
组合成一个更大的数组。虽然我知道有
apply()
push()
方法,但我必须使用循环来代替(我猜是更长的方法)

var arr1=[1,2,3,4];
var arr2=[5,6,7];
函数数组(arr1、arr2){
对于(变量i=0;i
显然,它目前不起作用,我正在努力找出语法。我理解逻辑,但目前这对我没有多大帮助。

你能不能不使用:


这是连接两个数组的函数。第一个参数将与第二个参数合并并返回

function appendArray (arr1, arr2){
 for(var i = 0; i < arr2.length; i++) {
 arr1.push(arr2[i]);
 }
return arr1;
}
函数数组(arr1、arr2){
对于(变量i=0;i
试着这样做

var j = arr1.length;
for(var i = 0; i < arr2.length; i++) {
    arr1[j] = arr2[i];
    j++;
}
return arr1;
var j=arr1.length;
对于(变量i=0;i
但是您的
.push()
调用没有对
arr2
的引用。它甚至没有试图附加任何内容。当一个快速的本机调用可以完成任务时,为什么需要一个缓慢的循环呢?这里有一个提琴给你所有的SO朋友:-另外,使用net.uk.sweet的答案更好。如果你想将
arr2
的元素添加到
arr1
,你必须迭代
arr2
,而不是
arr1
,并将元素实际传递给
.push()
。实际上,看起来逻辑问题更像是问题,而不是语法问题。请解释为什么不能使用
arr1=arr1.concat(arr2)
arr1.push.apply(arr1,arr2)
。看起来你正在重新发明一个不需要重新发明的轮子。
function appendArray (arr1, arr2){
 for(var i = 0; i < arr2.length; i++) {
 arr1.push(arr2[i]);
 }
return arr1;
}
var j = arr1.length;
for(var i = 0; i < arr2.length; i++) {
    arr1[j] = arr2[i];
    j++;
}
return arr1;