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 相关文章推荐
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
May 07 Javascript
JavaScript中的类继承
Nov 25 Javascript
JS获取select-option-text_value的方法
Dec 26 Javascript
深入分析下javascript中的[]()+!
Jul 07 Javascript
jQuery中判断对象是否存在的方法汇总
Feb 24 Javascript
Vue.js表单控件实践
Oct 27 Javascript
详解支持Angular 2的表格控件
Jan 19 Javascript
JavaScript显式数据类型转换详解
Mar 18 Javascript
VUE脚手架具体使用方法
May 20 Javascript
解决layui的input独占一行的问题
Sep 10 Javascript
微信小程序获取地理位置及经纬度授权代码实例
Sep 18 Javascript
jQuery实现简单全选框
Sep 13 jQuery
分析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下对数组进行排序的函数
2010/08/08 PHP
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
javascript来定义类的规范小结
2010/11/19 Javascript
js 创建书签小工具之理论
2011/02/25 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
老生常谈javascript的面向对象思想
2017/08/22 Javascript
在Vue中使用axios请求拦截的实现方法
2018/10/25 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
javascript异步编程的六种方式总结
2019/05/17 Javascript
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python及Django框架生成二维码的方法分析
2018/01/31 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
django框架自定义用户表操作示例
2018/08/07 Python
使用PyQt4 设置TextEdit背景的方法
2019/06/14 Python
python编写猜数字小游戏
2019/10/06 Python
Python如何访问字符串中的值
2020/02/09 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
详解python中的闭包
2020/09/07 Python
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
教师教学评估方案
2014/05/09 职场文书
申论倡议书范文
2014/05/13 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
感恩父母主题班会
2015/08/12 职场文书