一、增加数组元素
1.push()方法
语法:数组名.push(参数)
功能:在数组末尾添加一个或多个元素
参数:需要添加进数组末尾的一个或多个元素
返回值:在末尾添加完数组元素后数组的总长度
const arr=['a','b']
let num=arr.push('c','d')
console.log(arr) // ['a','b','c','d']
console.log(num) // 4
2.unshift() 方法
语法:数组名.unshift(参数)
功能:在数组首部添加一个或多个元素
参数:需要在数组首部添加的一个或多个数组元素
返回值:添加完数组元素后数数组的总长度
const arr=['a','b']
let num=arr.push('c','d')
console.log(arr) // ['a','b','c','d']
console.log(num) // 4
const num2=arr.unshift('e','f')
console.log(arr) //['e','f','a','b','c','d']
console.log(num2) // 6
二、删除数组元素
1. pop()方法
语法:数组名.pop()
功能:删除数组的最后一个元素
参数:无
返回值:从数组末尾删除的元素
const arr=['a','b']
let num=arr.push('c','d')
console.log(arr) // ['a','b','c','d']
console.log(num) // 4
const num2=arr.unshift('e','f')
console.log(arr) //['e','f','a','b','c','d']
console.log(num2) // 6
const res=arr.pop()
console.log(arr) //['e','f','a','b','c']
console.log(res) // d
2. shift() 方法
语法:数组名.shift()
功能:删除数组第一个元素
参数:无
返回值:从数组中删除的首位元素
const arr=['a','b']
let num=arr.push('c','d')
console.log(arr) // ['a','b','c','d']
console.log(num) // 4
const num2=arr.unshift('e','f')
console.log(arr) //['e','f','a','b','c','d']
console.log(num2) // 6
const res=arr.pop()
console.log(arr) //['e','f','a','b','c']
console.log(res) // d
const res2=arr.shift()
console.log(arr) //['f','a','b','c']
console.log(res2) // e
三、截取数组:splice()方法
语法一:数组名.splice(参数1,参数2)
参数:参数1:起始索引
参数2:需要从数组中截取出的元素的个数
功能:从数组的索引值为参数1的元素开始截取出参数2个元素
返回值:截取出的元素组成的新数组
const arr=['a','b','c','d']
const res=arr.splice(1,2)
console.log(arr) // ['a','d']
console.log(res) // ['b','d']
语法二:数组名.splice(参数1,参数2,参数3)
参数: 参数1:起始索引
参数2:需要从数组中截取出的元素的个数
参数3:向数组内插入的一个或多个元素
功能: 从数组索引为参数1的位置开始裁剪参数2个元素,并从索引为参数1的位置开始插入参数3
返回值:若参数2为0,即不删除数组元素,返回值为[]
若参数2不为0,返回值为截取出的元素组成的新数组
const arr=['a','b','c','d']
const res=arr.splice(1,2)
console.log(arr) // ['a','d']
console.log(res) // ['b','d']
const res2=arr.splice(1,0,'e','f','g')
console.log(arr) // ['a','e','f','g','d']
console.log(res2) // []
const res3=arr.splice(1,2,'A','B')
console.log(arr) // ['a','A','B','g','d']
console.log(res3) // ['e','f']
四、排序 sort()方法
语法一: 数组名.sort() 默认按照字符串排序
语法二: 数组名.sort(function (a,b) {return a-b}) 正序排列
语法三: 数组名.sort(function (a,b) {return b-a}) 倒序排列
const arr = [2, 63, 48, 5, 4, 75, 69, 11, 23]
arr.sort()
console.log(arr); //[11,2,23,4,48,5,63,69,75]
arr.sort(function(a,b){return(a-b)})
console.log(arr); //[1,4,5,11,23,48,63,69,75]
arr.sort(function(a,b){return(b-a)})
console.log(arr); //[75,69,63,48,23,11,5,4,1]
五、数组其他方法(简单)
1.concat() 方法:合并数组
语法: 数组名.concat(数据)
作用: 合并数组的
返回值: 一个新的数组
const array1 = ['a', 'b', 'c']
const array2 = ['d', 'e', 'f']
const array3 = array1.concat(array2)
console.log(array3) //['a', 'b', 'c','d', 'e', 'f']
2.slice()方法:截取数组的一部分数据
语法: 数组名.slice(开始索引,结束索引)
作用: 就是截取数组中的一部分数据
返回值: 就是截取出来的数据,放到一个新的数组中
注意: 截取的数据包含开始索引不包含结束索引,原数组不变
var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.slice(1,4)
console.log(arr) //[10, 20, 10, 30, 40, 50, 60]
console.log(res); //[20,10,30]
3.join() 方法:数组转字符串
语法:数组名.join('连接符')
作用: 把一个数组转成字符串
返回值: 转好的一个字符串
const arr = ['小学', '中学', '大学']
console.log(arr.join()) // 不传参数,默认会用逗号把元素拼接成一个字符串:小学,中学,大学
console.log(arr.join('-')) // 小学-中学-大学
console.log(arr.join(':')) // 小学:中学:大学
4.indexOf() 方法: 从左检查数组中有没有这个数值
语法一:数组名.indexOf(要查询的数据)
作用: 就是检查这个数组中有没有该数据,如果有就返回该数据第一次出现的索引,
如果没有返回 -1
语法二:数组名.indexOf(要查询的数据,开始索引)
//indexOf 语法一
let arr1 = [10, 20, 10, 30, 40, 50, 60]
res = arr1.indexOf(10)
console.log(arr1)
console.log(res); // 0
//*************************************
//indexOf 语法二
let arr2 = [10, 20, 20, 30, 10, 50, 60]
res = arr2.indexOf(10, 2)
console.log(arr2)
console.log(res); //4
5.lastIndexOf 从右检查数组中有没有这个数值
语法一:数组名.indexOf(要查询的数据)
作用: 就是检查这个数组中有没有该数据,如果有就返回该数据第一次出现的索引
如果没有返回 -1
语法二:数组名.lastIndexOf(要查询的数据,开始索引)
//lastIndexOf 语法一
let arr1 = [10, 20, 10, 30, 40, 50, 60]
res = arr1.lastIndexOf(50)
console.log(arr1)
console.log(res) // 5
//*************************************
//lastIndexOf 语法二
let arr2 = [10, 20, 10, 30, 40, 50, 60]
res1 = arr2.lastIndexOf(40, 2)
res2 = arr2.lastIndexOf(40,5)
console.log(arr2)
console.log(res1) // -1
console.log(res2) // 4