slice()和splice()是作用于数组的(字符串中也有slice);split()、substring()和substr()是作用于字符串的
一、用于数组
- slice [slaɪs] vt. 切片,划分,切下;
- slice()方法和splice()方法都是原生js中对数组操作的方法。
- slice(),返回一个新的数组,不会改变原有数组,该方法可从已有的数组中返回选定的元素。
它的参数只有start
是必须的!!!直接到尾部
①例如:arrObject(start,end),start是必选的。规定从何处开始选取,如果是负数,则是从数组元素尾部选取,也就是说-1指最后一个元素,-2指倒数第二个元素;
②end是可选元素。规定从何处结束选取。结束到end的前一位;该参数没有,表示从开始位置截取到数组末尾,如果是负数,表示从数组末尾向前截取元素。该方法不会修改原数组,如果想删除数组中某一段元素,使用splice()方法。
var a = [1,20,15,88,66,50,90]
console.log(a.slice(2,4)) // [15, 88]
console.log(a) // [1,20,15,88,66,50,90] 数组a不变
- splice vt. 捻接(两段绳子);粘接,胶接;
- splice(),数组中添加/删除元素,该方法会改变原始数组。例如:
语法:arrayObject.splice(index,howmany,item1,.....,itemX)。
它的参数index
和howmany
是必须的!!!
①index是必选的,规定添加/删除项目的位置。
②howmany必须项,表示删除项目的个数,如果为0表示不删除元素。splice()可删除从index开始的howmany个元素,并可以用item元素替代删除的元素。
③item可选参数,表示新添加的项,没有此项表示不添加新项。
var a = [1,20,15,88,66,50,90]
console.log(a.splice(2,3)) //[15, 88, 66]
console.log(a) //[1, 20, 50, 90] 数组a被剪掉了一截,剩下另一截
二、用于字符串
- split()
- split [splɪt] vt. 分裂,分开;
- 语法:stringObject.split(separator,howmany)
-
含义:把一个字符串分割成字符串数组:
①separator:必需。字符串或正则表达式,从该参数指定的地方分割 stringObject;
②howmany:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 - 注意:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割,例如下图中的例子!
-
substring()
它的参数只有start是必须的!!!
①stringObject.substring(start,stop)
方法用于提取字符串中介于两个指定下标之间的字符;返回的子串包括 start 处的字符,但不包括 stop 处的字符(到stop索引值前一位)。
start:必需。一个非负的整数,规定要提取的子串的第一个字符在stringObject 中的位置;
stop:可选。一个非负的整数,字符串下标,结束符是不包括该下标的。比如substring(0,3),那就是从下标0开始,截取到下标为3的前一位(不包括下标为3的那个字符);
如果不写此项,则返回的子串会一直到字符串的结尾。(如果从0开始截取时,那么此值可暂表示为截取的字符串的长度);
如果参数 start 与 stop 相等,那么该方法返回的就是一个空字符串;
参数不接受负值;
substr()
- 语法:
substr(start , length )
- 含义: substr 方法用于返回一个从指定位置开始的指定长度的子字符串
- 截取直接长度的字符串。substr(2,3),从下标为2开始,截取长度为3的字符串。而substring(2,3),则是从下标为2开始,截取到下标为3的前一位的字符串,也就是截取1位字符。
-
slice()
与substring()
一样
var a = 'nct wayv'
var a1 = a.substring(0,5) //start和end
var a2 = a.substr(0,2) // start和length
var a3 = a.slice(0,5) //start和end
console.log(a1,'a1') //nct w a1
console.log(a2,'a2') //nc a2
console.log(a3,'a3') //nct w a3 可见substring和slice结果是一样的
网友评论