Javascript 是否复制到新阵列并删除元素?

Javascript 是否复制到新阵列并删除元素?,javascript,jquery,arrays,Javascript,Jquery,Arrays,我需要复制一个数组并删除元素,但只从第二个数组中删除 例如: var m1 = [ "a","b","c","d"]; var m2 = m1; alert(m1+' and '+m2); // "a b c d" and "a b c d" m2.splice(0,1); // b c d alert(m1 + ' and ' + m2); // b c d and b c d 因此,每个数组中的第一个元素都被删除了,但是如何使第一个数组保持静态呢?您需要这样做 var m2 =

我需要复制一个数组并删除元素,但只从第二个数组中删除

例如:

var  m1 = [ "a","b","c","d"];

var m2 = m1;

alert(m1+' and '+m2); // "a b c d" and "a b c d"

m2.splice(0,1); // b c d

alert(m1 + ' and ' + m2); // b c d and b c d
因此,每个数组中的第一个元素都被删除了,但是如何使第一个数组保持静态呢?

您需要这样做

var m2 = m1.slice(0);
原因是doing=复制引用,slice将创建一个新数组

用于复制阵列:

var m2 = m1.slice();
用于将值复制到新数组:

var m2 = m1.slice(0);

将m2指定给m1时,将引用指定给m2变量。这两个变量都指向内存中的相同位置。您必须复制对象

下面是如何在JavaScript中执行此操作的说明: