Rising Sun

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  148 随笔 :: 0 文章 :: 22 评论 :: 0 Trackbacks

function delRepeat(arr){
 var len = arr.length;
 for(var i=len-1;i>=1;i--)
 {       
 if(arr[i-1] == arr[i])    
    {         
   arr.splice(i,1);//splice()方法的应用   
     } 
   }
 //return arr;
}

Array.prototype.delRepeat=function()
{
var tmpArr=[],rs=[],i,val;
for(i=this.length;i>0;i--)
{
val = this[i-1];
if(!tmpArr[val])
{
tmpArr[val]=1;
}else
{
rs.push(val);
this.splice(i-1,1);
}
}
tmpArr = null;
return rs;
}

两个优点:
1、预先将this[i-1]保存在变量val中,减少访问次数。
2、使用array.push方法,替换用变量保存数组长度的办法。



JavaScript splice() 方法
返回 JavaScript Array 对象参考手册
定义和用法
splice() 方法用于插入、删除或替换数组的元素。

语法
arrayObject.splice(index,howmany,element1,..,elementX)参数 描述 
index 必需。规定从何处添加
/删除元素。

该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
 
howmany 必需。规定应该删除多少元素。必须是数字,但可以是 
"0"

如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
 
element1 可选。规定要添加到数组的新元素。从 index 所指的下标处开始插入。 
elementX 可选。可向数组添加若干元素。 

返回值
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

说明
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
提示和注释
注释:请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。
实例
例子 
1
在本例中,我们将创建一个新数组,并向其添加一个元素:

<script type="text/javascript">

var arr = new Array(6)
arr[
0= "George"
arr[
1= "John"
arr[
2= "Thomas"
arr[
3= "James"
arr[
4= "Adrew"
arr[
5= "Martin"

document.write(arr 
+ "<br />")
arr.splice(
2,0,"William")
document.write(arr 
+ "<br />")

</script>输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin例子 
2
在本例中我们将删除位于 index 
2 的元素,并添加一个新元素来替代被删除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[
0= "George"
arr[
1= "John"
arr[
2= "Thomas"
arr[
3= "James"
arr[
4= "Adrew"
arr[
5= "Martin"

document.write(arr 
+ "<br />")
arr.splice(
2,1,"William")
document.write(arr)

</script>输出:

George,John,Thomas,James,Adrew,MartinGeorge,John,William,James,Adrew,Martin例子 
3
在本例中我们将删除从 index 
2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[
0= "George"
arr[
1= "John"
arr[
2= "Thomas"
arr[
3= "James"
arr[
4= "Adrew"
arr[
5= "Martin"

document.write(arr 
+ "<br />")
arr.splice(
2,3,"William")
document.write(arr)

</script>输出:

George,John,Thomas,James,Adrew,MartinGeorge,John,William,MartinTIY
splice() 
如何使用 splice() 来更改数组。 
posted on 2008-11-19 20:00 brock 阅读(308) 评论(0)  编辑  收藏 所属分类: javascript

只有注册用户登录后才能发表评论。


网站导航: