Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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,我有以下数组 var arr1=[1,2,3]; var arr2=[4,5,6]; var arr3=[]; 我如何将arr1和arr2推入arr3中,以使结果为: arr3=[[1,2,3],[4,5,6]]; 不是 当使用.concat方法时生成。 var arr1=[1,2,3]; var arr2=[4,5,6]; var arr3=[]; arr3.推送(arr1,arr2); 控制台日志(arr3) 我来做这项工作。 无论如何,请按照下面的说明进一步澄清。 希望这有帮

我有以下数组

var arr1=[1,2,3];   
var arr2=[4,5,6]; 
var arr3=[];
我如何将arr1和arr2推入arr3中,以使结果为:

arr3=[[1,2,3],[4,5,6]]; 
不是

当使用
.concat
方法时生成。

var arr1=[1,2,3];
var arr2=[4,5,6];
var arr3=[];
arr3.推送(arr1,arr2);
控制台日志(arr3)
我来做这项工作。
无论如何,请按照下面的说明进一步澄清。
希望这有帮助。

您可以像在其他答案中一样使用
push()
,或者:

var arr1=[1,2,3];   
var arr2=[4,5,6]; 
var arr3 = [arr1,arr2];
console.log(arr3);
var arr1 = [1,2,3];
var arr2 = [4,5,6];
var arr3 = [arr1, arr2];
console.log(arr3);

正如其他用户所发布的,您的问题的解决方案是使用.push()方法,但我将尝试为您提供有关这两种方法的更多信息

我建议你读一下,对我很有用;我在下面为您重述主要信息

推送方法

Push方法用于向调用该方法的数组添加一个或多个元素,这些元素是输入参数

一个简单的例子如下:

var first_array = [1, 2, 3]; 
var result = first_array.push(4, 5, 6);
console.log(result); // 6 
console.log(first_array ); // [1, 2, 3, 4, 5, 6]
var test = [1, 2, 3]; // [1, 2, 3]  
var example = [{ test: 'test value'}, 'a', 'b', 4, 5];  
var concatExample = test.concat(example); // [1, 2, 3, { test: 'test value'}, 'a', 'b', 4, 5]  
example[0].test = 'a changed value';  
console.log(concatExample[3].test); // Object { test: "a changed value"}  
example[1] = 'dog';  
console.log(concatExample[4]); // 'a'  
有一点不是很明显,那就是它在添加新值后返回数组的长度,而不是修改后的数组。(检查第三行:
console.log(结果);

CONCAT方法

当push更改调用它的数组时,concat返回一个新数组,其中原始数组与作为参数提供的数组或值连接在一起

关于concat以及它如何创建返回数组,有几点需要注意

字符串和数字都会复制到数组中,这意味着如果更改原始值,新数组中的值将不受影响

对于对象,情况并非如此

而不是将对象复制到新数组中,而是复制引用。这意味着,如果对象的值在一个数组中更改,那么它们也将在另一个数组中更改,因为它们是对对象的引用,而不是唯一副本

一个简单的例子如下:

var first_array = [1, 2, 3]; 
var result = first_array.push(4, 5, 6);
console.log(result); // 6 
console.log(first_array ); // [1, 2, 3, 4, 5, 6]
var test = [1, 2, 3]; // [1, 2, 3]  
var example = [{ test: 'test value'}, 'a', 'b', 4, 5];  
var concatExample = test.concat(example); // [1, 2, 3, { test: 'test value'}, 'a', 'b', 4, 5]  
example[0].test = 'a changed value';  
console.log(concatExample[3].test); // Object { test: "a changed value"}  
example[1] = 'dog';  
console.log(concatExample[4]); // 'a'  
我用这个例子为您创建了一个


我希望这会有帮助

使用
push()
??你是如何获得结果的
[1,2,3,4,5,6]
的?天哪,我真是太不懂了。我在返回语句中使用了push()。@deceze是我正在解决的一个问题的一部分,该问题是在一个范围内找到最小公倍数。