定义一个js数组,实现可通过下标删除,去重并返回

JavaScript028

定义一个js数组,实现可通过下标删除,去重并返回,第1张

用list对象的splice()方法。

例:

a=[1,2,3,4,5,6]

(6) [1, 2, 3, 4, 5, 6]

a.splice(4,1)

[5]0: 5length: 1__proto__: array(0)

a

(5) [1, 2, 3, 4, 6].splice()方法的第一个参数是开始下标;第二个是删除的长度,如果只输入一个参数则默认为第二个参数,第一个参数即开始下标默认为0;第三个为可选参数,如果指定则会向数组中插入第三个参数的实参。

另外这个方法的返回值是被删掉的数组,不过因为它直接操作数组,所以调用该方法后的数组便是你需要的样子了。

将一下代码放在全局js文件中:

Js代码

复制代码

代码如下:

/**

*删除数组指定下标或指定对象

*/

Array.prototype.remove=function(obj){

for(var

i

=0i

<this.lengthi++){

var

temp

=

this[i]

if(!isNaN(obj)){

temp=i

}

if(temp

==

obj){

for(var

j

=

ij

<this.lengthj++){

this[j]=this[j+1]

}

this.length

=

this.length-1

}

}

}

使用方法:

Js代码

复制代码

代码如下:

var

arr

=new

Array()

arr[0]="dddddd"

arr[1]="dxxxxxxx"

arr[2]="vvvvvvv"

arr[3]="dbbbbb"

var

str

="vvvvvvv"

arr.remove(3)//删除下标为3的对象

arr.remove(str)//删除对象值为“vvvvvvv”