1.push
语法:数组.push(数据)
作用:向数组末尾添加数据
返回值:追加数据后,数组最新的长度
var arr = [1,2,3,4,5]
console.log('原始数组: ',arr)
var num = arr.push(6) //--->[1,2,3,4,5,6]
2. pop
语法: 数组.pop()
作用: 删除数组的最后一项
返回值: 删除的哪一项数据
var arr = [1,2,3,4,5]
var num = arr.pop() //--->[1,2,3,4]
3. unshift
语法: 数组.unshift(数据)
作用: 向 数组头部 添加数据
返回值: 追加数据后, 数组最新的长度
var arr = [1,2,3,4,5]
var num = arr.unshift(0) //--->[0,1,2,3,4,5]
4. shift
语法: 数组.shift()
作用: 删除数组头部(第一项)的数据
返回值: 删除的哪一项数据
var arr = [1,2,3,4,5]
var num = arr.shift() //--->[2,3,4,5]
5. reverse
语法: 数组.reverse()
作用: 反转数组
返回值: 反转后的数组
var arr = [1,2,3,4,5]
var num = arr.reverse() //--->[5,4,3,2,1]
6. sort
语法: 数组.sort(); 数组.sort(function (a, b) {retrun a - b}); 数组.sort(function (a, b) {retrun b - a})
作用:
不传参数
会将数组内所有值, 转换为字符串, 然后一位一位的对比(第一位相同,对比第二位,…)
传参—函数 return a - b
会将数组内所有的值, 按照数字的 从小到大排列
传参—函数 return b - a
会将数组内所有的值, 按照数字的 从大到小排列
返回值:
不传参数
将排序后的数组返回
传递参数
将排序后的数组返回
// 6.1 不传参数
var num = arr.sort()
console.log('sort后的 arr: ', arr)
console.log('sort 的返回值: ', num)
// 6.2 return a - b
var num = arr.sort(function (a, b) { return a - b })
console.log('sort后的 arr: ', arr)
console.log('sort 的返回值: ', num)
// 6.3 return b - a
var num = arr.sort(function (a, b) { return b - a })
console.log('sort后的 arr: ', arr)
console.log('sort 的返回值: ', num)
7. splice
语法: 数组.splice(开始索引, 多少个); 数组.splice(开始索引, 多少个, 数据1, 数据2, 数据3…)
作用:
不传参数: 剪切数组中的某一段数据
传递参数: 剪切数组中的某一段数据, 将第三个参数开始, 当成新数据插入到数组内
返回值: 截切后的数据(数组形式)
//7.1 不传参数
var num = arr.splice(1, 3)
console.log('splice 后的 arr: ', arr)
console.log('splice 的 返回值: ', num)
// 7.2 传递参数
var num = arr.splice(1, 3, '数据1', '数据2', '数据3', '数据4')
console.log('splice 后的 arr: ', arr)
console.log('splice 的 返回值: ', num)
var arr = [100, 1, 101, 3, 2, 102]
// 下标 0 1 2 3 4 5
console.log('原始数组: ', arr)
8. slice (不会改变原数组)
语法: 数组.slice(开始索引, 结束索引)
参数特点: 1. 包含开始索引, 不包含结束索引(到结束索引前一位)
2. 参数接受负数(相当于 数组.length + 负数)
3. 不传结束索引 相当于写了 数组.length
4. 一个参数都不传 相当于复制整个数组, 或者只传递第一个参数为 0
作用: 复制数组中的某一段数据
返回值: 复制出来的内容
// 8.1 正常传参
var num = arr.slice(1, 5)
console.log('slice 后的 arr: ', arr)
console.log('slice 的返回值: ', num)
// 8.2 传递负数
var num = arr.slice(1, -1) // arr.length + (-1) ---> 6 + (-1) ---> 6 - 1 ---> 5
console.log('slice 后的 arr: ', arr)
console.log('slice 的返回值: ', num)
// 8.3 不传结束索引 相当于写了 数组.length
var num = arr.slice(2)
console.log('slice 后的 arr: ', arr)
console.log('slice 的返回值: ', num)
// 8.4 一个参数都不传 相当于复制整个数组, 或者只传递第一个参数为 0
var num = arr.slice()
console.log('slice 后的 arr: ', arr)
console.log('slice 的返回值: ', num)
9. concat
语法: 数组.concat(数据1, 数据2)
作用: 将 参数, 合并到 指定数组内(如果参数写了数组, 那么会将数组的每一个值合并到指定数组)
返回值: 合并后的数组
10. join
语法: 数组.join(连接符)
参数可以不传, 不传递默认按照 , 逗号
作用: 通过连接符连接数组的每一个值
返回值: 连接好的数组
11. indexOf;
语法: 数组.indexOf(数据); 数组.indexOf(数据, 开始索引)
作用: 在数组内寻找指定数据
返回值:
1. 找到数据的时候, 返回数据第一次出现的下标
2. 找不到的时候, 返回 -1
12. lastIndexOf
语法: 数组.lastIndexOf(数据); 数组.lastIndexOf(数据, 开始索引)
作用: 在数组内寻找指定数据(倒叙寻找)
返回值:
1. 找到数据的时候, 返回数据第一次出现的下标
2. 找不到的时候, 返回 -1