字符串方法:substring和substr只能操作字符串 ,charAt,search,split;
数组方法:splice只能操作数组;
字符串,数组接可 : slice可操作数组和字符串
1.substr()
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
语法
stringObject.substr(start,length)
参数 | 描述 |
---|---|
start | 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。 |
length | 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。 |
返回值
一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。
例如:
var str="2019-04-05 17:00:00";---->想要获取到的是 04-05 17:00
var dateArr = str.split(" ");
dateArr[1].substr(0, 5);----->得到 17:00
dateArr[0].substr(5, 10);---->得到 04-05
2.substring()
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
语法
stringObject.substring(start,stop)
参数 | 描述 |
---|---|
start | 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。 |
stop | 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。 如果省略该参数,那么返回的子串会一直到字符串的结尾。 |
返回值
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop减 start。
3.slice()
该方法并不会修改数组,而是返回一个子数组
slice() 方法可从已有的数组中返回选定的元素。
语法
arrayObject.slice(start,end)
参数 | 描述 |
---|---|
start | 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 |
end | 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
返回值
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
4.splice()
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注释:该方法会改变原始数组。
语法
arrayObject.splice(index,howmany,item1,.....,itemX)
参数 | 描述 |
---|---|
index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 |
howmany | 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 |
item1, ..., itemX | 可选。向数组添加的新项目。 |
返回值
类型 | 描述 |
---|---|
Array | 包含被删除项目的新数组,如果有的话。 |
例:
1.数组中添加新元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");fruits 输出结果:
Banana,Orange,Lemon,Kiwi,Apple,Mango
2.移除数组的第三个元素,并在数组第三个位置添加新元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,1,"Lemon","Kiwi");fruits 输出结果:
Banana,Orange,Lemon,Kiwi,Mango
3.从第三个位置开始删除数组后的两个元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,2);fruits 输出结果:
Banana,Orange
5.charAt()
charAt() 方法可返回指定位置的字符。(操作字符串)
请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串。
语法
stringObject.charAt(index)
参数 | 描述 |
---|---|
index | 必需。表示字符串中某个位置的数字,即字符在字符串中的下标。 |
<script type="text/javascript">
var str="Hello world!"
document.write(str.charAt(1))
</script>
结果: e
6.search()
(字符串)
定义和用法
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
语法
stringObject.search(regexp)
参数 | 描述 |
---|---|
regexp | 该参数可以是需要在 stringObject 中检索的子串,也可以是需要检索的 RegExp 对象。 注释:要执行忽略大小写的检索,请追加标志 i。 |
例:
<script type="text/javascript"> var str="Visit W3School!" document.write(str.search(/W3School/)) </script>
输出:
6 //即返回了被检索的下标
7.split
var MatchDate="2019-03-26 19:00:00" ;
var dateArr = MatchDate.split(" "); //通过空格截取时间
拿到结果:
dateArr[0]="2019-03-26";
dateArr[1]="19:00:00";
要是想获取时间 03-26 和 19:00,则可以进行再次截取
dateArr[0].substr(5, 10)="03-26";
dateArr[1].substr(0, 5)="19:00";