# 常用数组和字符串方法

# 数组处理

# concat 连接多个数组

此方法返回新数组,不改变原来的数组

var arr = [1, 2, 3]
var arr1 = [5, 6]
console.log(arr.concat(arr1)) // [1, 2, 3, 4, 5]
console.log(arr.concat(5, 6)) // [1, 2, 3, 5, 6]
console.log(arr.concat([8, 9])) // [1, 2, 3, 8, 9]
1
2
3
4
5

# join 通过指定分隔符将数组分割成字符串

var arr = [1, 2, 3]
console.log(arr.join('**')) // 1**2**3
1
2

# reverse 反转数组

不会生产新的数组

var arr = [1, 2, 3]
console.log(arr.reverse()) // [3, 2, 1]
1
2

# slice 截取数组

操作数据,截取一段数组

也可用于截取字符串

语法

slice(start,end)

  1. 从start开始截取到end但是不包括end
  2. 返回值为截取出来的元素的集合
  3. 原始的数组不会发生变化
let arr = [1, 2, 3, 4]
arr.splice() // [1, 2, 3, 4]
let arr1 = arr.slice(1, 2)
console.log(arr) // [2]
console.log(arr1) // [1, 2, 3, 4]
1
2
3
4
5

# splice 截取数组

不同于slice()方法,splice方法会修改原始数组

语法

splice(start,deleteNum, addItem1, addItem2, ...)

  1. start参数 开始的位置
  2. deleteNum 要截取的个数
  3. 后面的addItem1, addItem2为要添加的元素
  4. 如果deleteNum为0,则表示不删除元素,从start位置开始添加后面的几个元素到原始的数组里面
  5. 返回值为由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组
  6. 如果只有一个参数,默认删除到数组的结尾
var arr = [1, 2, 3, 4, 5]
console.log(arr.splice()) // 返回 []
console.log(arr.splice(3)) // 返回 [4, 5] 表示删除了 [4, 5]
// 此时arr数组变成[1, 2, 3]

var arr3 = [1, 2, 3, 4, 5]
console.log(arr3.splice(3, 5, 8, 9)) // [4, 5]
// 此时arr3数组变成[1, 2, 3, 8, 9]
1
2
3
4
5
6
7
8

# 字符串处理

# charAt 返回指定位置的字符

var str = 'hello world'
console.log(str.charAt(6)) // w
1
2

# indexOf 返回指定字符在字符串中首次出现的位置

var str = 'fanmengyuan'
console.log(str.indexOf('n')) // 2 注意indexOf里面的字符用单引号括住
1
2

indexOf()方法还可以有第二个参数规定字符串开始检索的位置

var str = 'fanmengyuan'
console.log(str.indexOf('n', 3)) // 5
console.log(str.indexOf('n', 2)) // 2
1
2
3

# split 按规则将字符串分割为字符串数组

var str = 'I-am-a-girl'
console.log(str.split('-')) // ["I", "am", "a", "girl"]
1
2

split()方法还可以有第二个参数,表示分割的次数,如果省略,默认分割次数不限

var str = 'I-am-a-girl'
console.log(str.split('-', 2)) // ["I", "am"]
1
2

# substring 截取字符串

语法

substring(start, end)

  1. 第一个参数表示起始位置,第二个参数表示终止位置
  2. 如果省略第二个参数,默认提取到字符串的结尾
var str = 'fanmengyuan'
console.log(str.substring(3, 7)) // meng
1
2

# substr 也用于截取字符串

语法

substr(start, len)

  1. 不同于substring方法的是:该方法的两个参数,第一个参数表示起始位置,第二个参数表示提出字符串的个数
  2. 如果省略第二个参数,默认提取到字符串的结尾
var str = 'fanmengyuan'
console.log(str.substr(3, 4)) // meng
1
2