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 dialog键盘事件代码
Aug 01 Javascript
$.ajax返回的JSON无法执行success的解决方法
Sep 09 Javascript
基于jquery实现的可编辑下拉框实现代码
Aug 02 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
Jun 19 Javascript
js实现文字闪烁特效的方法
Dec 17 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
Oct 15 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
Aug 17 Javascript
vue-prop父组件向子组件进行传值的方法
Mar 01 Javascript
使用webpack3.0配置webpack-dev-server教程
May 29 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
Nov 18 Javascript
小程序api实现promise封装过程解析
Nov 21 Javascript
详解template标签用法(含vue中的用法总结)
Jan 12 Vue.js
分析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后门URL的防范
2013/11/12 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
php多任务程序实例解析
2014/07/19 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
js的一些常用方法小结
2011/06/29 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
Javascript基础知识(一)核心基础语法与事件模型
2014/09/29 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
python文件和目录操作方法大全(含实例)
2014/03/12 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
transform python环境快速配置方法
2018/09/27 Python
NumPy 数组使用大全
2019/04/25 Python
Python中os模块功能与用法详解
2020/02/26 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
有模特经验的简历自我评价
2013/09/19 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
导游词之凤凰古城
2019/10/22 职场文书
MybatisPlus EntityWrapper如何自定义SQL
2022/03/22 Java/Android