javascript中不易分清的slice,splice和split三个函数


Posted in Javascript onMarch 29, 2016

每每见到这三个函数,我都会很懵,一定要到网上搜搜;今天,恰巧又见到了它们,所以想必是时候为它们做个笔记啦

1.slice(数组)

用法:array.slice(start,end)

解释:该方法是对数组进行部分截取,并返回一个数组副本;参数start是截取的开始数组索引,end参数等于你要取的最后一个字符的位置值加上1(可选)

//如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾
var a=[1,2,3,4,5,6];
var b=a.slice(0,3);  //[1,2,3]
var c=a.slice(3);    //[4,5,6]

//如果两个参数中的任何一个是负数,array.length会和它们相加,试图让它们成为非负数,举例说明:
//当只传入一个参数,且是负数时,length会与参数相加,然后再截取
var a=[1,2,3,4,5,6];
var b=a.slice(-1);  //[6]

//当只传入一个参数,是负数时,并且参数的绝对值大于数组length时,会截取整个数组
var a=[1,2,3,4,5,6];
var b=a.slice(-6);  //[1,2,3,4,5,6]
var c=a.slice(-8);  //[1,2,3,4,5,6]

//当传入两个参数一正一负时,length也会先于负数相加后,再截取
var a=[1,2,3,4,5,6];
var b=a.slice(2,-3);  //[3]

//当传入一个参数,大于length时,将返回一个空数组
var a=[1,2,3,4,5,6];
var b=a.slice(6);//[]

2.slice(字符串)

用法:string.slice(start,end)

解释:slice方法复制string的一部分来构造一个新的字符串,用法与参数匀和数组的slice方法一样;end参数等于你要取的最后一个字符的位置值加上1

//举个简单的例子
var a="i am a boy";
var b=a.slice(0,6);  //"i am a"

3.splice(数组)

用法:array.splice(start,deleteCount,item...)

解释:splice方法从array中移除一个或多个数组,并用新的item替换它们。参数start是从数组array中移除元素的开始位置。参数deleteCount是要移除的元素的个数。

如果有额外的参数,那么item会插入到被移除元素的位置上。它返回一个包含被移除元素的数组。

//举一个简单的例子
var a=['a','b','c'];
var b=a.splice(1,1,'e','f');  //a=['a','e','f','c'],b=['b']

4.split(字符串)

用法:string.split(separator,limit)

解释:split方法把这个string分割成片段来创建一个字符串数组。可选参数limit可以限制被分割的片段数量。separator参数可以是一个字符串或一个正则表达式。如果

separator是一个空字符,会返回一个单字符的数组。

//再举一个简单的例子
var a="0123456";
var b=a.split("",3);  //b=["0","1","2"]

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
javascript 动态添加表格行
Jun 22 Javascript
Javascript入门学习资料收集整理篇
Jul 06 Javascript
JavaScript中“+”的陷阱深刻理解
Dec 04 Javascript
SOSO地图JS画出标注和中心点以html形式运行
Aug 09 Javascript
js中substring和substr的详细介绍与用法
Aug 29 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
Aug 20 Javascript
jquery实现的动态回到顶部特效代码
Oct 28 Javascript
JS延时提示框实现方法详解
Nov 26 Javascript
BootStrap的Datepicker控件使用心得分享
May 25 Javascript
vue+swiper实现侧滑菜单效果
Dec 28 Javascript
Vue.js递归组件实现组织架构树和选人功能
Jul 04 Javascript
JavaScript如何判断对象有某属性
Jul 03 Javascript
分析js闭包引起的事件注册问题
Mar 29 #Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
Mar 29 #Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 #Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
Mar 29 #Javascript
JavaScript面向对象程序设计教程
Mar 29 #Javascript
jQuery实现图片加载完成后改变图片大小的方法
Mar 29 #Javascript
Web前端开发工具——bower依赖包管理工具
Mar 29 #Javascript
You might like
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
PHP容易忘记的知识点分享
2013/04/30 PHP
joomla组件开发入门教程
2016/05/04 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
浅析jQuery Mobile的初始化事件
2015/12/03 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
Python全局变量用法实例分析
2016/07/19 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
详解Django CAS 解决方案
2019/10/30 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
详解Python IO编程
2020/07/24 Python
python破解同事的压缩包密码
2020/10/14 Python
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
护士辞职信怎么写
2015/02/27 职场文书
名人传读书笔记
2015/06/26 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
JS数组去重详情
2021/11/07 Javascript