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 23 Javascript
javascript删除一个html元素节点的方法
Dec 20 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
Jun 05 Javascript
深入理解JavaScript编程中的原型概念
Jun 25 Javascript
通过原生JS实现为元素添加事件的方法
Nov 23 Javascript
AngularJS模仿Form表单提交的实现代码
Dec 08 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
Jul 07 Javascript
利用jsonp与代理服务器方案解决跨域问题
Sep 14 Javascript
layui之select的option叠加问题的解决方法
Mar 08 Javascript
详解@angular/cli 改变默认启动端口两种方式
Nov 29 Javascript
Vue.js实现的购物车功能详解
Jan 27 Javascript
js实现贪吃蛇小游戏
Oct 29 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单态设计模式(单例模式)实例
2014/11/18 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
php和html的区别点详细总结
2019/09/24 PHP
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
angularjs实现过滤并替换关键字小功能
2017/09/19 Javascript
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
vue-cli4项目开启eslint保存时自动格式问题
2020/07/13 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
python判断文件夹内是否存在指定后缀文件的实例
2019/06/10 Python
Python操作qml对象过程详解
2019/09/26 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
历史学专业个人的自我评价
2013/10/13 职场文书
班长岗位职责
2013/11/10 职场文书
经典演讲稿范文
2013/12/30 职场文书
电力安全事故反思
2014/04/27 职场文书
班主任个人工作反思
2014/04/28 职场文书
施工安全承诺书
2014/05/22 职场文书
读书月活动方案
2014/05/22 职场文书
英语专业求职信
2014/07/08 职场文书
健康状况证明模板
2014/10/23 职场文书
个人事迹材料怎么写
2014/12/30 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
初一语文教学反思
2016/03/03 职场文书