Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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,我试图用javascript将一个数组推到同一个数组中,但它似乎不起作用。以下是我目前的代码: var arr = ["Hello", "World!"] arr.push(arr); console.log(arr); 预期输出:[“你好”,“世界!”,[“你好”,“世界!”]] 有人知道我的代码中的错误是什么吗?在上面的代码中,您按下了当前数组的ref,因此您按下的新项将递归指示 要解决此问题,需要推送新的数组项 var arr=[“你好”,“世界

我试图用javascript将一个数组推到同一个数组中,但它似乎不起作用。以下是我目前的代码:

var arr = ["Hello", "World!"]
arr.push(arr);
console.log(arr);
预期输出:[“你好”,“世界!”,[“你好”,“世界!”]]


有人知道我的代码中的错误是什么吗?

在上面的代码中,您按下了当前数组的ref,因此您按下的新项将递归指示

要解决此问题,需要推送新的数组项

var arr=[“你好”,“世界!”]
arr.push([…arr]);

控制台日志(arr)您推入数组的内容是对自身的引用;
console.log(arr)
显示数组中的第三个元素作为对数组本身的引用。您会注意到
console.log(arr[2])
给出了与
console.log(arr)
完全相同的结果:

var arr=[“你好”,“世界!”]
arr.push(arr);
控制台日志(arr);

控制台日志(arr[2])您正试图将相同的引用推送到数组。因此,如果数组稍后更新,元素中的数组也将更新。 按下时,使用ES6排列创建阵列的新参考。请参见下面的示例

const arr = [1,2];
arr.push([...arr]);
console.log(arr);

将另一个元素推送到arr不会更新索引2处的数组。

这是否回答了您的问题?我不能很好地理解那个。。。我认为这个问题的问题是在将数组推到另一个数组时保持数组不变。这个问题有一个不同的问题。