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 复制数组实现代码
Nov 26 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
Jan 03 Javascript
Javascript实现重力弹跳拖拽运动效果示例
Jun 28 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
Jun 16 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
Oct 20 Javascript
详解AngularJS的通信机制
Jun 18 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
Nov 04 Javascript
JS中双击和单击事件冲突的解决方法
Apr 09 Javascript
JavaScript生成指定范围随机数和随机序列的方法
May 05 Javascript
微信小程序如何获取用户收货地址
Nov 27 Javascript
在layui中layer弹出层点击事件无效的解决方法
Sep 05 Javascript
React实现评论的添加和删除
Oct 20 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
php后退一页表单内容保存实现方法
2012/06/17 PHP
PHP 万年历实现代码
2012/10/18 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
php银联网页支付实现方法
2015/03/04 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
理清apply(),call()的区别和关系
2011/08/14 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
有关文件上传 非ajax提交 得到后台数据问题
2016/10/12 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
js控制文本框禁止输入特殊字符详解
2017/04/07 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
canvas三角函数模拟水波效果的示例代码
2018/07/03 HTML / CSS
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
小学毕业感言50字
2014/02/16 职场文书
售前工程师职业生涯规划
2014/03/02 职场文书
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
讲座通知范文
2015/04/23 职场文书
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript
nginx之内存池的实现
2022/06/28 Servers