1. 向数组的末尾添加元素
arr.push('要添加的元素')
push方法的返回值:新数组的长度
改变原有数组的
2. 向数组的开头添加元素
arr.unshift('要添加的元素')
3. 从数组的末尾删除元素
arr.pop()
pop方法返回值:被删除的元素
4. 从数组的开头删除元素
arr.shift()
5. 数组的排序方法
const arr = [ 1, 3, 2, 10, 45, 32, 57 ]
arr.sort(); // [ 1, 10, 2, 3, 32, 45, 57 ]
console.log(arr)
arr.sort(function(num1, num2) {
// num1, num2: 代表的是数组中的元素
return num1 - num2
})
console.log(arr)
改变原有数组的
6. 数组的倒序方法
arr.reverse()
7. 数组的截取方法
arr.slice(startIndex, endIndex)
startIndex: 起始下标,包含在内
endIndex: 结束下标,不包含
[startIndex, endIndex)
返回值:截取后的元素,以数组的形式返回
不改变原有数组
8. 数组的替换方法
arr.splice(startIndex, num, ...item)
startIndex: 开始下标
num:要替换的数组的个数
item: 要替换的数组元素(剩余参数)
返回值:原数组中被替换掉元素
改变原有数组
9. 数组的联接方法
arr.concat(arr1, arr2, ...)
const arr = [1, 2];
const arr2 = [3, 4];
const arr3 = arr.concat(arr2); // [1, 2, 3, 4]
console.log(arr3)
返回值:合并之后的数组
不改变原有数组
10. 将数组转成字符串
arr.join('分隔符')
不改变原有数组
11. 判断数组中的元素是否存在
arr.includes('数组中的元素')
如果数组中的元素存在,返回true,否则false
arr.indexOf('数组中的元素')
如果元素存在,返回的是元素的下标,否则返回的-1
12. 根据条件查找数组中的元素
-
find
arr.find((item, index, arr) => '表达式')
返回数组中符合条件的第一个元素,如果数组中没有符合条件的元素,返回undefined
const arr = ['A', 'B', 'C', 1, 2, 3] const res = arr.find(function(item, index, arr) { // item: 数组中的元素 // index: 下标 // arr: 数组本身 return typeof item === 'string' // return item > 10 // undefined }) console.log(res)
-
findIndex
arr.findindex((item, index, arr) => '表达式')
返回数组中符合条件的第一个元素的下标,如果数组中没有符合条件的元素,返回-1
13. 过滤数组中元素
arr.filter((item, index, arr) => '表达式')
以数组的形式返回符合条件的元素
14. 对数组中的元素进行遍历
arr.forEach(function(item) {})
forEach这个方法是没有返回值的
15. 如果数组中的元素是否满足条件
-
every
arr.every((item, index, arr) => '表达式')
如果数组中的元素都满足条件,返回true;只要有一个元素不满足条件,返回false
-
some
arr.some((item, index, arr) => '表达式')
如果数组中的元素都不满足条件,返回false;只要有一个元素满足条件,返回true
16. 数组的映射方法
arr.map((item, index, arr) => '表达式')
对数组中的元素进行二次加工,返回处理后的数组
17. 数组的迭代方法
arr.reduce((initailValue, item, index, arr) => '表达式', '可选的参数initial')
如果reduce的第二个参数不存在:initailValue的值为数组的第一个元素
如果reduce的第二个参数存在:initailValue的值为reduce函数的第二个参数
// 数组元素求和
const res = arr.reduce(function(num, item) {
console.log(num)
return num + item;
})
console.log(res)
const arr2 = [
{ color: "#c00" },
{ color: '#ff0' },
{ color: '#00f' }
] // ['#c00', '#ff0', '#00f']
const res2 = arr2.reduce(function(arr, item) {
arr.push(item.color);
return arr;
}, [])
console.log(res2)
// 数组的去重
const arr3 = [1, 3, 2, 1, 5, 10, 5, 8]
const res3 = arr3.reduce(function(arr, item) {
!arr.includes(item) && arr.push(item)
return arr;
}, [])
console.log(res3)
欢迎小伙伴们留言补充哟!