// 1. 数组的 pop 方法; 改变原数组
let arr = [1, 2, '小白', 3]
// 删除数组的最后一个 返回的是删除的那一个值, 并且直接改变原数组
let bar = arr.pop()
console.log(arr); // [1, 2, '小白']
console.log(bar); // 3
// 2. 数组的 unshift 方法; 改变原数组
let arr = [1, 2, '小白', 3]
// 向数组的最前面添加数据, 改变原数组, 返回的是数组的 length 长度
let bar = arr.unshift('小顾')
console.log(arr); // ['小顾', 1, 2, '小白', 3]
console.log(bar); // 5
// 3. 数组的 shift 方法; 改变原数组
let arr = [1, 2, '小白', 3]
// 删除数组的第 1 个数据, 返回值是被删除的数据
let bar = arr.shift()
console.log(arr); // [2, '小白', 3]
console.log(bar); // 1
// 4. 数组的 concat 方法; 不改变原数组
let arr = [1, 2, '小白', 3]
// 拼接数组的方法, 返回的是拼接后的数组
let bar = arr.concat([10, 11], ['校花', '校草'])
console.log(arr); // [1, 2, '小白', 3]
console.log(bar); // [1, 2, '小白', 3, 10, 11, '校花', '校草']
// 5. 数组的 splice 方法; 改变原数组
let arr = [1, 2, '小白', 3]
// 传两个参数: (开始的下标, 截取几个) 返回的是截取的数据按照数组的形式返回
let bar = arr.splice(2, 2)
console.log(arr); // [1, 2, 3]
console.log(bar); // ['小白']
// 传一个参数: (只传一个) 数组的下标开始截取到最后
let foo = arr.splice(1)
console.log(arr); // [1]
console.log(foo); // [2, '小白', 3]
// 传多个参数: (下标, 截取几个, 替换的数据) 截取的个数是 0 那么就相当于直接插值进去
let num = arr.splice(1, 0, '你好', '小顾')
console.log(arr); // [1, '你好', '小顾', 2, '小白', 3]
console.log(num); // []
// 6. 数组的 slice 方法; 不改变原始数组
let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
// // 按数组的下标截取 (起始下标开始, 结束的下标) 下标是包前不包后
let bar = arr.slice(1, 3)
console.log(arr); // ['a', 'b', 'c', 'd', 'e', 'f', 'g']
console.log(bar); // ['b', 'c']
// 只传一个参数那么就是从下标开始一直截取到最后
let bar = arr.slice(1)
console.log(bar); // ['b', 'c', 'd', 'e', 'f', 'g']
// 7. 数组的 sort 方法; 改变原数组
let arr = [1, 3, 7, 9, 101, 5, 15]
// 第一个参数不会变, 不传参只能处理 10 以内的数据排序, 从小到大
let bar = arr.sort()
console.log(arr); // [1, 101, 15, 3, 5, 7, 9]
console.log(bar); // [1, 101, 15, 3, 5, 7, 9]
// 从小到大排序
let bar = arr.sort((a, b) => {
return a - b
})
console.log(arr); // [1, 3, 5, 7, 9, 15, 101]
console.log(bar); // [1, 3, 5, 7, 9, 15, 101]
// 从小到大排序
let bar = arr.sort((a, b) => {
return b - a
})
console.log(arr);
console.log(bar);
// 8. 数组的 reverse 方法; 改变原数组
let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
// // 使原数组反转
let bar = arr.reverse()
console.log(arr); // ['g', 'f', 'e', 'd', 'c', 'b', 'a']
console.log(bar); // ['g', 'f', 'e', 'd', 'c', 'b', 'a']
// 9. 数组的 join 方法; 不改变原数组
let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
// 以传的参数为连接符, 返回的是一个 " 字符串 ", 如果不传那么就是以 " , " 连接
let bar = arr.join()
console.log(arr); // ['a', 'b', 'c', 'd', 'e', 'f', 'g']
console.log(bar); // a*b*c*d*e*f*g
concat() 不改变原始数组
slice() 不改变原始数组
join() 不改变原始数组
push()
pop()
unshift()
shift()
splice()
sort()
reverse()