JS数组中的增删改及拼接、分割、排序的方法

128 阅读1分钟

数组的增删改

let arr = [1,2,3,4,5]

1. 增加

1.1 头部增加

arr.unshift(0,'a') => [0, 'a', 1, 2, 3, 4, 5]

1.2 尾部增加

arr.push(0,'a') => [1, 2, 3, 4, 5, 0,'a']

2. 删除

2.1 头部删除(一次只能删除一个)

arr.shift() => [2, 3, 4, 5]

2.2 尾部删除(一次只能删除一个)

arr.pop() => [1, 2, 3, 4]

3. 剪接

arr.splice(0,2) 从第0位开始删除两位 => [3, 4, 5]

arr.splice(0,2,'a','b') 从第0位开始删除两位,再添加a,b => ['a', 'b', 3, 4, 5]

4. 截取 (取左不取右)

let arr1 = [1,2,3,4,5]

let arr2 = arr1.slice(1,-1)

arr2 >>> [2, 3, 4]

数组的拼接、分割、排序

1. 两个数组的拼接

let arr1 = [1, 2, 3, 'XYZ', 7]

let arr2 = [2, 4, 6]

let arr3 = arr1.concat(arr2)

arr3 >>> [1, 2, 3, 'XYZ', 7, 2, 4, 6]

2. 数组元素合并成字符串,字符串分割成数组

let str = arr1.join('&') 用&符号连接数组中的元素,生成一个字符串 => 1&2&3&XYZ&7

let arr3 = str.split('&') 同样可以是让字符串重新分割成数组 => ['1', '2', '3', 'XYZ', '7']

3. 数组的排序 (先数字再大写字母再小写字母)

let arr1 = [1, 2, 3, 'XYZ', 7, 2, 4, 6, 'xyz', 'X', 'ABc', 'AB', 'ab', 'A', 'a']

arr1.sort()

arr1 >>> [1, 2, 2, 3, 4, 6, 7, 'A', 'AB', 'ABc', 'X', 'XYZ', 'a', 'ab', 'xyz']

// 如果是213,321,542这样的数字,排序时总会使用第一个数字来进行比较
// 如果第一个数字大小相同,则会顺位比较第二个
let arr2 = [123,321,144,155,245,677]

arr2.sort()

arr2 >>> [123, 144, 155, 245, 321, 677]