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 Zifa FormValid 0.1表单验证 代码打包下载
Jun 08 Javascript
js 走马灯简单实例
Nov 21 Javascript
jQuery - css() 方法示例详解
Jan 16 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
Dec 16 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
Jun 24 Javascript
详解JavaScript操作HTML DOM的基本方式
Oct 21 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
Mar 14 Javascript
微信小程序自定义轮播图
Nov 04 Javascript
浅谈小程序 setData学问多
Feb 20 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
Mar 19 Javascript
关于vue-cli3打包代码后白屏的解决方案
Sep 02 Javascript
详解ES6 扩展运算符的使用与注意事项
Nov 12 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中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
php自定义分页类完整实例
2015/12/25 PHP
Yii2使用表单上传文件的实例代码
2017/08/03 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
优化Node.js Web应用运行速度的10个技巧
2014/09/03 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
webpack的CSS加载器的使用
2018/09/11 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
python自动化测试无法启动谷歌浏览器问题
2019/10/10 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
eBay奥地利站:eBay.at
2019/07/24 全球购物
什么是java序列化,如何实现java序列化
2012/11/14 面试题
C++如何引用一个已经定义过的全局变量
2014/08/25 面试题
2019史上最全Database工程师题库
2015/12/06 面试题
数学专业推荐信范文
2013/11/21 职场文书
市场营销职业生涯规划书范文
2014/01/12 职场文书
党员民主评议个人总结
2014/10/20 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
庭外和解协议书
2016/03/23 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技