array与string的应用

前言

ES6出了一套新的数组和字符串的用法,为了巩固下基础,今天盘点下array和string的方法合集。

String

先来讲string基本方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var str = "abcdfg"
//查询'b'字符在str所在的位置
str.indexOf("b") //1
//从最后一位查询"b"所在str的位置
str.lastIndexOf("b") //4
//从str的第三位开始截取到第6位
str.substring(2,4) //"cd"
//从str的第三位开始截取到最后
str.substring(2) //"cdefg"
//把str以","的方式转化成数组
str.split(",") //[a,b,c,d,e,f,g]
//每两个字符以","方式转化为数组
str.split(",",2) //[ab,cd,ef,g]
//返回第三个字符所展示的值
str.charAt(2) //c
str.toLowerCase()//转小写
str.toUpperCase()//转大写
var str2 = "hijk"
str.concat(str2) //"abcdefghijk"

上述基本为日常开发中用到的string的方法,接下来讲讲在ES6中新加的一些比较实用的方式

includes()

includes其实和indexOf异曲同工,indexOf返回的是查询词的所在位置,而includes只是为了单纯的查询该字符是否在该字符串中,返回布尔值。

1
2
3
4
var str = "hello tezml"
str.includes('o') //true
str.includes('c') //false

而includes其实还可以接受第二个参数,第二个参数代表从搜索位置

1
2
3
4
var str = "hello tezml"
str.includes('o',1) //true
str.includes('o',6) //false

startsWith() 和 endsWith()

startsWith和endsWith可以查询字符是否在当前字符串的最前面和最后面,返回值也是布尔值。

1
2
3
4
5
6
7
var str = "hello tezml"
str.startsWith('hello') //true
str.startsWith('h') //true
str.startsWith('a') //false
str.endsWith('tezml') //true
str.endsWith('l') //true
str.endsWith('hello') //false

同样这两个方法也支持第二个参数,开始位置

1
2
3
4
var str = "hello tezml"
str.startsWith('tezml', 6) // true
str.endsWith('hello', 5) // true
str.includes('hello', 6) // false

repeat()

repeat其实就是对字符串拷贝多少次

1
2
3
'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // ""


array

接下来说说数组,和字符串一样,先写写传统的各种用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var arr = [1,2,3,4]
//从最后给arr添加一个5
arr.push(5) //[1,2,3,4,5]
//从首位给arr添加一个0
arr.unshift(0) //[0,1,2,3,4]
//从首位删除删除一个
arr.shift() //[2,3,4]
//从最后一位删除一个
arr.pop() //[1,2,3]
//把数组以'.'分隔成字符串
arr.join('.') //1.2.3.4
//从数组的第二位开始删除2个
arr.splice(1,2) //[1,4]
//从数组的第二位开始删除2个,加上5,6,7
arr.splice(1,2,5,6,7) //[1,4,5,6,7]
//arr拼接arr2
var arr2 = [5,6,7]
arr.concat(arr2) //[1,2,3,4,5,6,7]
//反转数组
arr.reverse() //[4,3,2,1]
//数组排序
arr.sort() //[1,2,3,4]
//把数组转换成字符串,以','分隔
arr.toString() //"1,2,3,4"