Javascript 将数组推入同一数组中
我试图用javascript将一个数组推到同一个数组中,但它似乎不起作用。以下是我目前的代码:Javascript 将数组推入同一数组中,javascript,arrays,Javascript,Arrays,我试图用javascript将一个数组推到同一个数组中,但它似乎不起作用。以下是我目前的代码: var arr = ["Hello", "World!"] arr.push(arr); console.log(arr); 预期输出:[“你好”,“世界!”,[“你好”,“世界!”]] 有人知道我的代码中的错误是什么吗?在上面的代码中,您按下了当前数组的ref,因此您按下的新项将递归指示 要解决此问题,需要推送新的数组项 var arr=[“你好”,“世界
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处的数组。这是否回答了您的问题?我不能很好地理解那个。。。我认为这个问题的问题是在将数组推到另一个数组时保持数组不变。这个问题有一个不同的问题。