javascript/jQuery 拷贝数组,克隆数组,删除数组元素

一、拷贝数组

与PHP不同,javascript在对变量进行赋值时,如果所赋之值 (=号右边)为数组,则其将直接拷贝此数组的引用。

那么我们如何拷贝(克隆)一个数组呢?网上很多方法,然后,最快的,却是:

var a = [1, 2];
var b = a.slice(0);
b[0] = 3;
console.log(a);
// output: [1, 2]
console.log(b);
//output: [3, 2]

主流浏览器都支持的。

二、删除数组元素

如果有一个既定的数组,我们要删除其数组元素,这可不是大家常做的事。你可能会想到置空,或者设为undefined,很遗憾,这都不能删除数组个数。

使用下面简单的方法:

var a = [1, 2, 3];
for (var i = 0, len = a.length; i < len; i++) {
if (a[i] === 2) {
a.splice(i,1); // splice 第一个参数为要删除的数组下标开始,第二个参数为要删除的长度,第三个参数(我这里没用)为要在删除之处添加的新的元素。
}
}
console.log(a);
// output: [1, 2]