slice和splice的使用和区别

1.slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素。

注意:该方法不会改变原数组,而是返回一个子数组,如果想删除数组中的一段元素,应该使用Array.splice()方法。

start参数:必须,规定从何处开始选取,如果为负数,规定从数组尾部算起的位置,-1是指最后一个元素。

end参数:可选(如果该参数没有指定,那么切分的数组包含从start倒数组结束的所有元素,如果这个参数为负数,那么规定是从数组尾部开始算起的元素)。

var arr = [1,2,3,4,5];

console.log(arr.slice(1));//[2,3,4,5]  选择序列号从1到最后的所有元素组成的新数组。

console.log(arr.slice(1,3))//[2,3]  不包含end,序列号为3的元素

同时slice(start,end)可以作用于字符串的切割

/*字符串切割和提取----slice(start,end),substring(),substr()*/

var str = "Hello,world!";

var sliceStr = str.slice(1,5);//ello (不包含end)

var subStr = str.substring(1,5);//ello

var subStr = str.substr(1,5);//ello,

var str = "1000000";

var sliceStr = str.slice(-3);//000  从序列号为-3的位置到最后

2.splice():该方法向或者从数组中添加或者删除项目,返回被删除的项目。(该方法会改变原数组)

splice(index,num,item1,...itemX)

index参数:必须,整数,规定添加或者删除的位置,使用负数,从数组尾部规定位置。

num参数:必须,要删除的数量,如果为0,则不删除项目。

tem1,...itemX参数:可选,向数组添加的新项目。

var arr = [1,2,3,4,5];

console.log(arr.splice(2,1,"hello"));//[3]  返回的新数组

console.log(arr);//[1, 2, "hello", 4, 5]  改变了原数组

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第五章******************************************************...
    fastwe阅读 3,998评论 0 0
  • JS基本数据类型及变量声明在js中有三种声明变量的方式:var let const,let var const的区...
    web佳阅读 4,408评论 1 8
  • String即文本(字符串),字符串方法都不改原字符串; 创建 字符串 的三种办法: new String(), ...
    晚溪呀阅读 3,051评论 0 1
  • 分手第一天,心里很压抑,很想哭哭不出来。不想出去,不想吃饭,睡不着,头很疼。害怕见别人,感觉自己像是个蹲在墙...
    花揽阅读 1,950评论 4 2
  • - 执行命令更新、查看版本 输入命令sudo gem install cocoapods --pre 升级 此时会...
    Theshy阅读 12,015评论 2 13

友情链接更多精彩内容