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 相关文章推荐
jQuery查询数据返回object和字符串影响原因是什么
Aug 09 Javascript
js鼠标悬浮出现遮罩层的方法
Jan 28 Javascript
jQuery实现径向动画菜单效果
Jul 17 Javascript
jquery+json实现分页效果
Mar 07 Javascript
jQuery电话号码验证实例
Jan 05 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
Jun 01 Javascript
基于Vue实现图书管理功能
Oct 17 Javascript
JS实现模糊查询带下拉匹配效果
Jun 21 Javascript
详解js的视频和音频采集
Aug 09 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
May 30 Javascript
Vue3.0 响应式系统源码逐行分析讲解
Oct 14 Javascript
vue3使用vuedraggable实现拖拽功能
Apr 06 Vue.js
分析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
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
php生成HTML文件的类方法
2019/10/11 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
使用按钮控制以何种方式打开新窗口的属性介绍
2012/12/17 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
IE浏览器IFrame对象内存不释放问题解决方法
2014/08/22 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
Python数据类型学习笔记
2016/01/13 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
Python基础学习之函数方法实例详解
2019/06/18 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
Python 如何批量更新已安装的库
2020/05/26 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
历史学专业毕业生求职信
2013/09/27 职场文书
工程师岗位职责规定
2014/02/26 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
婚前协议书
2014/04/15 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
教师师德考核自我评价
2014/09/13 职场文书
打架检讨书
2015/01/27 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书