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 多种搜索引擎集成的页面实现代码
Jan 02 Javascript
来自国外的30个基于jquery的Web下拉菜单
Jun 22 Javascript
JQuery拖拽元素改变大小尺寸实现代码
Dec 10 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
Aug 28 Javascript
Jquery在指定DIV加载HTML示例代码
Feb 17 Javascript
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
JS返回顶部实例代码
Aug 09 Javascript
Angular4学习教程之HTML属性绑定的方法
Jan 04 Javascript
vue2.0 如何在hash模式下实现微信分享
Jan 22 Javascript
深入了解响应式React Native Echarts组件
May 29 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&平移轮播效果
Aug 16 Javascript
js仿360开机效果
Dec 26 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
Linux编译升级php的详细方法
2013/11/04 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
JS实现微信摇一摇原理解析
2017/07/22 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
详解Vue源码中一些util函数
2019/04/24 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
vue.js实现h5机器人聊天(测试版)
2020/07/16 Javascript
Python实现的归并排序算法示例
2017/11/21 Python
Python入门必须知道的11个知识点
2018/03/21 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
Python pip install之SSL异常处理操作
2020/09/03 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
2014年道德讲堂实施方案
2014/03/05 职场文书
作文批改评语大全
2014/04/23 职场文书
班级文化建设标语
2014/06/23 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python
Redis Cluster 集群搭建你会吗
2021/08/04 Redis
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL