Javascript 仅将列表中的项目转移到另一个列表

Javascript 仅将列表中的项目转移到另一个列表,javascript,list,dictionary,Javascript,List,Dictionary,首先对不起我的英语 我有两张名单或两张dic, 当我写作时 list1 = list2 列表1变为列表2以及列表2中列表1的任何更改 如何将项目从列表1传输到列表2(无需使用for),有什么方法吗?使用slice创建数组副本: list1 = list2.slice() 纯javascript,复制一个 for(i=0;i<list2.length;i++) { list1[i] = list2[i]; } list1=list2.slice();将生成一个新数组。对数组中对象的

首先对不起我的英语

我有两张名单或两张dic, 当我写作时

list1 = list2
列表1变为列表2以及列表2中列表1的任何更改


如何将项目从列表1传输到列表2(无需使用for),有什么方法吗?

使用
slice
创建数组副本:

list1 = list2.slice()

纯javascript,复制一个

for(i=0;i<list2.length;i++) {
  list1[i] = list2[i];
}

list1=list2.slice();将生成一个新数组。对数组中对象的更改仍然会交叉填充…这个问题以前已经问过很多次了。复制数组很简单,但是没有单一或通用的方法来复制对象,因为对不同类型的对象有不同的要求。副本有很多答案,读了不少,因为没有一个答案有完整的故事。对不起,我的英语不好,我不知道我必须谷歌什么!如果list2是稀疏的,for循环将在list1上创建list2上不存在的属性。@RobG是的,没错,但我认为基本问题就在那里。在任何情况下,
slice
(我一开始键入的是“splice”,因为p接近l;差别很大!)都比较容易。我想OP是在询问数组(“列表”)和对象(“dic”)。但不确定…嗯,说得对。
list1 = list2.slice();