slice() 与 splice()区别

slice()

1.1

(1)接受一个参数是:返回从该参数指定位置开始到当前数组末尾的所有项;
(2)接受两个参数是:返回起始和结束位置之间的项,但是不包括结束位置的项。
注意:
slice()不会影响原数组

1.2

start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

1.3

**定义:**slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。
还要注意的是,String.slice() 与 Array.slice() 相似。

var color = ['red','green','blue','yellow','black'];
var color2 = color.slice(1);
var color3 =  color.slice(1,4);

alert(color2);  //green,blue,yellow,black
alert(color3);    //green,blue,yellow
<script type="text/javascript">
var str="Hello happy world!"
alert(str.slice(6));   //happy world!
alert(str.slice(6,11));   //happy
</script>

splice()

1.1

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注意:
该方法会改变原始数组。

1.2

arrayObject.splice(index,howmany,item1,.....,itemX)

(1)index:表示开始位置。必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
(2)howmany:表示删除个数。必需。要删除的项目数量。如果设置为 0,则不会删除项目。
(3)item1,…..,itemX:表示插入的元素。可选。向数组添加的新项目。
(4)splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
(5)如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

1.3

<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"
alert(arr) //George,John,Thomas,James,Adrew,Martin
arr.splice(2,0,"William")
alert(arr)  //George,John,William,Thomas,James,Adrew,Martin

</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"
alert(arr)   //George,John,Thomas,James,Adrew,Martin
arr.splice(2,3,"William")
alert(arr)   // George,John,William,Martin
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值