博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
slice,splice和split 区别及用法整理总结
阅读量:4095 次
发布时间:2019-05-25

本文共 1490 字,大约阅读时间需要 4 分钟。

以下方法涉及到截取范围的都是 包含头不含尾,如arr.slice(2,5)指截取下标为2、3、4的元素。

slice

用法:array.slice(start,end)

解释:该方法是对数组进行部分截取,并返回一个数组副本;

参数start是截取的开始数组索引
end参数为截取截止位置(注意不包含该位置的元素)。

注意:

(1)该方法适用于数组与字符串
(2)可使用负值从数组的尾部选取元素。
(3)如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
(4)该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

实例:

//如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾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);  //[]

splice

用法:array.splice(start,deleteCount,item…)

解释:splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

参数start是从数组array中移除元素的开始位置。
参数deleteCount是要移除的元素的个数。
item 为向数组添加的新项目。

注意:

该方法会改变原始数组。

实例:

var a=['a','b','c'];var b=a.splice(1,1,'e','f');    //a=['a','e','f','c'],b=['b']

split

用法:string.split(separator,limit)

解释:方法用于把一个字符串分割成字符串数组。

separator 必选参数可以是一个字符串或一个正则表达式。从该参数指定的地方分割 string。
limit 可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

注意:

(1)如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
(2)String.split() 执行的操作与 Array.join 执行的操作是相反的。

//再举一个简单的例子var a="0123456";var b=a.split("",3);    //b=["0","1","2"]

转载地址:http://vtvii.baihongyu.com/

你可能感兴趣的文章
Kafka | 请求是怎么被处理的?
查看>>
Java并发编程1-线程池
查看>>
CentOS7,玩转samba服务,基于身份验证的共享
查看>>
计算机网络-网络协议模型
查看>>
计算机网络-OSI各层概述
查看>>
Java--String/StringBuffer/StringBuilder区别
查看>>
mySQL--深入理解事务隔离级别
查看>>
分布式之redis复习精讲
查看>>
数据结构与算法7-栈
查看>>
线性数据结构学习笔记
查看>>
数据结构与算法14-跳表
查看>>
Java并发编程 | 一不小心就死锁了,怎么办?
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
(python版)《剑指Offer》JZ06:旋转数组的最小数字
查看>>
(python版)《剑指Offer》JZ13:调整数组顺序使奇数位于偶数前面
查看>>
(python版)《剑指Offer》JZ28:数组中出现次数超过一半的数字
查看>>
(python版)《剑指Offer》JZ30:连续子数组的最大和
查看>>
(python版)《剑指Offer》JZ32:把数组排成最小的数
查看>>
(python版)《剑指Offer》JZ02:替换空格
查看>>
JSP/Servlet——MVC设计模式
查看>>