JS数组对象的splice()和slice()的区别
来源:互联网 发布:每日生产报表软件 编辑:程序博客网 时间:2024/06/05 07:16
splice()和slice()
Hello,everybody~
今天来个小细节的东西,js大家都不陌生了,不知道对js数组对象的几个方法还有没有印象,今天就来深入分析一下~
数组对象中有两个比较相似的方法——splice和splice,看着很像,就是多了一个p,但是用法却相当不一样。
1、splice()
定义
用于插入、删除或替换数组的元素,返回被删除的项目。
语法
arrayObject.splice(index,howmany,element1,......,elementX)
参数
3个参数 2个必需 1个可选
① index:必需。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。整数,规定添加或删除项目的位置,使用负数,可以从数组结尾处规定位置。
② howmany:必需。要删除的数量,规定应该删除多少元素。必须是数字,但可以是 "0"。
如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
③ 第3个参数可选 在参数1的位置处,增加一个或多个项目。返回值是删除的元素。
element1 可选。规定要添加到数组的新元素。从 index 所指的下标处开始插入。
elementX 可选。可向数组添加若干元素。
elementX 可选。可向数组添加若干元素。
返回值
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
splice() 方法会直接对数组进行修改。
写个小案例:
var color = new Array('red','blue','yellow','black');var color2 = color.splice(2,3,'brown','pink');alert(color); // 输出 red,blue,brown,pinkalert(color2); // 输出 yellow,black
扩展
splice()方法还可以用到数组去重中 代码如下:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body> <script type="text/javascript"> var a=[1,4,1,6,4]; for(var i=0;i<=a.length-1;i++){ for(var j=i+1;j<a.length-1;j++){ if(a[i]===a[j]){ a.splice(j,1); j- -; } } } document.write(a); </script></body></html>
2、slice()
定义
slice() 方法可截取字符串的某个部分,并以新的字符串返回被提取的部分。
语法
stringObject.slice(start,end)
参数
start:要抽取的片断的起始下标。
如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。
也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end:紧接着要抽取的片段的结尾的下标。
end:紧接着要抽取的片段的结尾的下标。
若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。
如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
返回值
一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
说明
String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。
还要注意的是,String.slice() 与 Array.slice() 相似。
还要注意的是,String.slice() 与 Array.slice() 相似。
来看个小案例:
var color = new Array('red','blue','yellow','black');var color2 = color.slice(1,2);alert(color); //输出 red,blue,yellow,blackalert(color2); //输出 blue;注意:这里只有第二项一个值
写到这,大家应该都能回忆出来数组对象的很多方法了,今天写的是写法很相像的两个方法,以后还会多多总结,未完待续......
阅读全文
0 0
- JS数组对象的splice()和slice()的区别
- 数组对象的slice和splice方法
- 数组中splice和slice的区别
- js中splice和slice的区别
- splice和slice的区别
- slice和splice的区别
- slice()和splice()的区别
- slice和splice的区别
- slice和splice的区别
- Js的数组方法对比:splice(),concat()和slice()
- js--打卡--12.04 数组的slice和splice方法
- JS中slice split和splice三者的区别
- Javascript数组---slice(),splice()方法的区别
- JS中slice,splice,split的区别
- js中split、splice、slice的区别
- JS中splice跟slice的区别
- JavaScript的slice()和splice()数组方法
- 数组的slice()和splice()方法
- Exception Value: no such table: pizzas_topping
- Java 中的集合
- clipse上安装GIT插件EGit及使用
- AfxGetApp()->m_pMainWnd和AfxGetMainWnd()
- Android:读取Word文档
- JS数组对象的splice()和slice()的区别
- Ubuntu下多个版本OpenCV管理(Multiple Opencv version)
- 离散题目3
- 线程的互斥与死锁问题
- 【PMP认证考试之个人总结】第 7 章 项目质量管理
- VUE 全家桶,vue2-vue-router-vuex-axios
- less和scss对比
- Android-版本6.0权限申请第三方开源库
- Bootstrap 网格系统