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 使用手册(一)
Sep 23 Javascript
javascript中"/"运算符常见错误
Oct 13 Javascript
禁止拷贝网页内容的js代码
Jan 22 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
Mar 03 Javascript
jQuery 实现侧边浮动导航菜单效果
Dec 26 Javascript
详解如何在vue中使用sass
Jun 21 Javascript
详解ES6通过WeakMap解决内存泄漏问题
Mar 09 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
Jul 25 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
Sep 05 Javascript
JS实现关闭小广告特效
Jan 29 Javascript
如何基于javascript实现贪吃蛇游戏
Feb 09 Javascript
javascript的var与let,const之间的区别详解
Feb 18 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中的integer类型使用分析
2010/07/27 PHP
php并发对MYSQL造成压力的解决方法
2013/02/21 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
JavaScript语言对Unicode字符集的支持详解
2014/12/30 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
Jquery实现简单的轮播效果(代码管用)
2016/03/14 Javascript
jQuery纵向导航菜单效果实现方法
2016/12/19 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
python文件拆分与重组实例
2018/12/10 Python
python解析含有重复key的json方法
2019/01/22 Python
Django--权限Permissions的例子
2019/08/28 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
python中upper是做什么用的
2020/07/20 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
HTML5 Canvas的性能提高技巧经验分享
2013/07/02 HTML / CSS
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
妇产医师自荐信
2014/01/29 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
革命电影观后感
2015/06/18 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL