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 相关文章推荐
多个iframe自动调整大小的问题
Sep 18 Javascript
javascript中caller和callee详解
Aug 10 Javascript
AngularJS优雅的自定义指令
Jul 01 Javascript
JavaScript函数表达式详解及实例
May 05 Javascript
BootStrap数据表格实例代码
Sep 13 Javascript
详解如何优雅地在React项目中使用Redux
Dec 28 Javascript
NW.js 简介与使用方法
Feb 01 Javascript
完美解决iview 的select下拉框选项错位的问题
Mar 02 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
Aug 24 Javascript
node后端服务保活的实现
Nov 10 Javascript
angularjs模态框的使用代码实例
Dec 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
德生PL990的分析评价
2021/03/02 无线电
PHP 文件扩展名 获取函数
2009/06/03 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
destoon复制新模块的方法
2014/06/21 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
javascript document.compatMode兼容性
2010/02/23 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
JavaScript使用concat连接数组的方法
2015/04/06 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
深入解答关于Python的11道基本面试题
2017/04/01 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
python3实现飞机大战
2020/11/29 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
2013届毕业生求职信范文
2013/11/20 职场文书
关于逃课的检讨书
2014/01/23 职场文书
幼儿园大班家长评语
2014/04/17 职场文书
后备干部推荐材料
2014/12/24 职场文书
入党积极分子个人总结
2015/03/02 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP