JavaScript函数补完:splice()数组操作

http://www.nowamagic.net/librarys/veda/detail/1369

 

面试的时候如果主考官让你使用JavaScript来实现对数组元素进行插入、删除、替换操作。如果不知道Array.prototype.splice的使用的方法那很有可能就要被扣分了。使用javascript数组类型内置的splice方法仅需一行代码即可轻松实现对数组元素进行插入、删除、替换操作。

方法名:Array.prototype.splice(index,count[,elm1,elm2...n])

使用Array类型的splice方法可以对数组元素进行插入、替换、删除。该方法讲直接影响当前的数组对象(与.slice(index1,index2)方法不同)并返回被删除的数组项。

参数:

  • index :数组中元素的起始下标。
  • count :需要要被删除或替换的元素个数。
  • elems :需要插入到数组中的项。
  • 返回值 :返回从素组中被移除的项。

演示:

<script type="text/javascript">
var items =["a","b","c","d","e"];
//删除元素
result = items.splice(1,2)
//这个操作删除了示例中items数组中的元素["b","c"],并返回["b","c"]给result.
//替换元素
result = items.splice(1,2,"x","y")
//这个操作使用元素"x","y"替换了示例中items数组中的元素["b","c"],并返回["b","c"] 给 result.
//插入元素
result = items.splice(1,0,"x","y")
//这个操作的结果是在示例中items数组的的"b"元素后插入["x","y"],返回值为空。
</script>


在本例中,我们将创建一个新数组,并向其添加一个元素:

<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


在本例中我们将删除位于 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,Martin
George,John,William,James,Adrew,Martin


在本例中我们将删除从 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,Martin
George,John,William,Martin


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值