原创
落魄前端-小陈 2021-09-27 15:27:30 4230 收藏 0
1. slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从索引start开始到end(不包含end索引对应的元素)的数组元素。start,end均为索引
(1)注意:该方法不会改变原数组,而是返回一个子数组,如果想删除数组中的一段元素,应该使用Array.splice()方法。
如:
var a=[1,2,3,4]
var b=a.slice(1,3)
console.log(b) //[2,3]
console.log(a) //[1,2,3,4]
(2)注意:slice(start,end)如果end输入的值大于数组的长度,会把start后面的所有元素截取,这个一般用于截取接口返回来的数,又没法判断接口返回的数组长度是不是够的情况下截取
如:
var a=[1,2,3,4]
var b=a.slice(1,6)
console.log(b) //[2,3,4]
(3)注意slice还能截取字符串,不会改变原字符串,并且slice(start,end)如果end输入的值大于数组的长度,会把start后面的所有字符都截取
如: 如:
var a='abcd' var c='abcd'
var b=a.slice(1,3) var d=a.slice(1,6)
console.log(b) //bc console.log(b) //bcd
console.log(a) //abcd
(4)注意:slice(start,end),如果输入的start,end在数组中找不到对应的项,会返回一个空数组, 如果是在字符串中,则返回空
如:
var a=[1,2,3,4]
var b=a.slice(6,7)
console.log(b) //[]
2.splice():该方法向或者从数组中添加或者删除项目,返回被删除的项目。splice(index,howmany,item1,...itemX)
index参数:必须,整数,规定添加或者删除的位置,使用负数,从数组尾部规定位置。
howmany参数:必须,要删除的数量,如果为0,则不删除项目。
tem1,...itemX参数:可选,向数组添加的新项目。
( 1)注意,该方法会改变原数组
如:
var a=[1,2,3,4]
var b=a.splice(1,3)
console.log(b) //[2,3,4]
console.log(a) //[1]
(2)注意:splice(index,howmany),如果howmany大于数组的长度,会删除从索引开始到数组的最后一个
var a=[1,2,3,4]
var b=a.splice(2,6)
console.log(b) //[3,4]
console.log(a) //[1,2]
(3)注意:splice(start,end)也一样,如果输入的start,end在数组中找不到对应的项,会返回一个空数组
如:
var a=[1,2,3,4]
var b=a.splice(6,7)
console.log(b) //[]
(4)注意:splice()可以删除指定项,并在该位置添加新元素
var a=[1,2,3,4]
var b=a.splice(1,1,'张三','李四')
console.log(b) //2
console.log(a) //[1, "张三", "李四", 3, 4]
(5)注意:splice()不能用来截取字符串,用了报错
3.substring(start,end)是用于截取字符串,包含从索引start开始到end(不包含end索引对应的元素)的字符元素。不改变原字符串;start,end均为索引
如
var a='abcd'
var b=a.substring(1,2)
console.log(b) //b
console.log(a) //abcd
(1)注意:substring(start,end),end的数字大于字符串的长度,将截取start到该字符串最后的所有字符
如:
var a='abcd'
var b=a.substring(1,6)
console.log(b) //bcd
(2)注意:substring(start,end)找不到对应的项,则会返回一个空字符串
如:
var a='abcd'
var b=a.substring(6,7)
console.log(b) //空,(不是null,是' ')
(3)注意:不能用来截取数组
4.substr(index,length)第一个是索引,第二个是长度,如果输入的长度大于字符的长度,将截取开始索引到字符串最后的字符,如果输入的substr(index,length)在字符串找不到对应的项,则返回空字符
(1)注意:substr第二个参数是长度,不是索引;而substing(start,end)的两个参数都是索引
如:
var a='abcd'
var b=a.substr(1,2)
console.log(b) //bc
(2)注意:如果输入的长度大于字符的长度,将截取开始索引到字符串最后的字符;如果输入的substr(index,length)在字符串找不到对应的项,则返回空字符
如:
var a='abcd' var a='abcd'
var b=a.substr(1,6) var b=a.substr(6,2)
console.log(b) //bcd console.log(b) //空,(不是null,是' ')