1.在数组尾端添加数据
var arr1 = [1, 2, 3, 4, 5]
console.log(arr1.push(6), '添加数组的长度')
console.log(arr1, '返回添加后的整个数组')
2.从尾端提取元素
var arr2 = [1, 2, 3, 4]
console.log(arr2.pop(), '返回尾端提取的元素')
console.log(arr2, '删除数组最后一位返回新的数组')
3.从首端提取元素
var arr3 = [1, 2, 3, 4]
console.log(arr3.shift(), '返回首端提取的元素')
console.log(arr3, '删除数组最前一位返回新的数组')
4.在数组首端添加元素
var arr4 = [1, 2, 3, 4, 5, 6]
console.log(arr4.unshift('0'), '返回数组长度')
console.log(arr4, '返回添加后的整个数组')
5.splice的使用 splice(索引,删除的个数,替换的内容),允许负索引
var arr5 = [1, 2, 3, 4, 5]
console.log(arr5.splice(0, 2), '返回删除的数组,从索引0开始,长度2位置')
console.log(arr5, '返回删除后的数组')
var arr6 = [1, 2, 3]
console.log(arr6.splice(0, 0, '你好'), '返回删除的数组')
console.log(arr6, '返回添加后的数组')
console.log(arr6.splice(-1, 0, '你好'), '添加-1前面,返回删除的数组')
console.log(arr6, '返回添加后的数组')
6.slice数组的使用(开始索引,结束索引) 注意:但不包括最后一位索引
var arr7 = [0, 1, 2, 7, 8, 9]
console.log(arr7.slice(0, 2), '复制数组的前两位')
console.log(arr7.slice(-3, -1), '支持负数索引')
console.log(arr7.slice(1), '传一个参数,就是从当前索引复制到最后')
7.concat合并数组
var arr8 = ['kjjj', 'dddd'],
arr9 = ['ssss', 'dddd']
console.log(arr8.concat(arr9), '返回合并后的新数组')
8.forEach()的使用
var arr10 = [1, 2, 3]
arr10.forEach((item, index, arr) => {
console.log(item, 'item', index, 'index', arr, 'arr返回的整个数组')
})
9. indexOf、lastIndexOf 和 includes 方法与字符串操作具有相同的语法
// 注意:indexOf:查询是从前往后查,查到则停止查询,查不到则返回-1 lastIndexOf查询是从后往前查,查到则停止查询,查不到则返回-1
var arr11 = [1, 2, 3, 4, 5, 6]
console.log(arr11.indexOf(7), '没有找到返回-1')
console.log(arr11.indexOf(5), '找到返回当前索引')
console.log(arr11.includes(1), '检测数组时候包含元素,包含返回true不包含返回false')
10.find的方法,如果查询到返回当前对象,如果查询不到返回undefined
var arr12 = ['你好', '校长', '下坡']
var name = arr12.find(item => item == '校长')
var name2 = arr12.find(item => item == '小明')
console.log(name, 'name', name2, 'name2')
11.filter 过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
var arr13 = [{
id: 4,
name: '小明3'
}, {
id: 1,
name: '小明'
}, {
id: 2,
name: '小明2'
}, {
id: 3,
name: '小明3'
}]
var filterArr = arr13.filter(item => item.id > 2)
console.log(filterArr, '返回过滤后符合条件的数组')
12.sort 数组排序
var arr14 = [5, 4, 1, 3, 2, 6]
arr14.sort((a, b) => a - b)
console.log(arr14, '从小到大排序的结果')
arr14.sort((a, b) => b - a)
console.log(arr14, '从大到小排序的结果')
13.split 和 join
var abc = ['a', 'b', 'c', 'd']
var bcd = "aughfdhgkdfk"
console.log(bcd.split(''), '字符串转数组的方法')
console.log(abc.join(''), '数组转字符串')
14.every() 判断数组的每一项是否都符合条件 ,都符合返回true,有一项不符合就返回false
var arr16 = [1, 7, 8, 9]
var resulted = arr16.every(item => {
return item < 6
})
var resulted2 = arr16.every(item => {
return item > 0
})
console.log(resulted, 'resulted', resulted2, 'resulted2')
15.some():判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
var arr17 = [1, 7, 8, 9]
var resulted3 = arr17.some(item => {
return item < 3
})
var resulted4 = arr17.some(item => {
return item < 0
})
console.log(resulted3, 'resulted3', resulted4, 'resulted4')
16.reduce 方法和 reduceRight reduce:从左到右计算 reduceRight:从右到左计算
var arr15 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
var result = arr15.reduce((sum, itemValue) => sum + itemValue, 0)
console.log(result, '计算的结果')
// Array.isArray 判断是否为数组 typeof无法区分对象和数组
var a = {},
b = []
console.log(typeof a, typeof b)
console.log(Array.isArray(a), Array.isArray(b), '如果是数组返回true,不是返回false')
![](https://img2024.cnblogs.com/blog/35695/202502/35695-20250207193705881-1356327967.jpg)