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;