目录
一、数组的增删
1.unshift()在数组前添加新加元素,返回值是数组的长度, 原数组改变:
var arr = [1, 2]
var len = arr.unshift(0)
console.log(len) // 3
console.log(arr) // [0, 1, 2]
2. shift() 删除数组第一个元素,返回值是删除的元素, 原数组改变:
var arr = [1,2,3]
var del_item = a.shift()
console.log(del_item ) // 1
console.log(arr) // [2,3]
3.push()在数组后添加新加元素,返回值是数组的长度, 原数组改变:
var arr = [1, 2]
var len = arr.push(3)
console.log(len) // 3
console.log(arr) // [1, 2, 3]
4. pop() 删除数组最后一个元素,返回值是删除的元素, 原数组改变:
var arr = [1, 2, 3]
var del_item = arr.pop()
console.log(del_item) // 3
console.log(arr) // [1, 2]
二、数组的查找
1. indexOf() 不会改变原数组,返回找到的下标,否则返回-1
indexOf(参数一,参数二) 参数一:查找的元素 参数二: 从哪个下标开始查找
var a = [1,2,4,3,4,5]
console.log(a.indexOf(4)) // 2
2. lastIndexOf() 不会改变原数组,返回找到的下标,否则返回-1
lastIndexOf(参数一,参数二) 参数一:查找的元素 参数二: 从哪个下标开始查找
var a = [1,2,4,3,4,5]
console.log(a.indexOf(4,3)) // 4
三、合并数组
1. concat() 拼接方法用来合并两个或多个数组合并两个或多个数组,返回新数组,不会改变原数组
var a = [1,2,3]
var b = [4,5]
var c = a.concat(b)
console.log(a) // [1,2,3]
console.log(b) // [4,5]
console.log(c) // [1,2,3,4,5]
四、数组的切片
1. slice() 切片 slice(startIndex,endIndex) 返回从startIndex开始(包括),到endIndex(不包括)之间的原属组成的数组返回新数组,不改变原数组
var a = [1,2,3]
var b = a.slice(0, 1)
var c = a.slice()
console.log(b) // [1]
console.log(c) // [1,2,3]
// 负数表示从后往前数
var d = a.slice(-1,-2)
console.log(d) // [] 从左向右截取,所以说为[]
var e = a.slice(-1)
console.log(e) // [3]
五、splice()方法实现增删
1. splice(开始位置, 删除的个数,元素)万能方法,可以实现增删改:改变数组本身
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.splice(2, 0, 'haha')
let arr2 = arr.splice(2, 3)
let arr3 = arr.splice(2, 1, 'haha')
console.log(arr1)//[1, 2, 'haha', 3, 4, 5]新增一个元素
console.log(arr2)//[1, 2] 删除三个元素
console.log(arr3)//[1, 2, 'haha', 4, 5] 替换一个元素
六、数组转字符串
1. toString()此方法将数组转化为字符串
let arr = [1, 2, 3, 4, 5];
let str = arr.toString() //1,2,3,4,5
2. join() 方法用来将数组转换为字符串,不改变原数组,返回转换后的字符串
var a = [1,2,3,4,5]
console.log(a.join(',')) // 1,2,3,4,5
console.log(a) // [1,2,3,4,5]
七、数组的逆置
1. reverse() 方法用于颠倒数组中元素的顺序。返回的是颠倒后的数组,会改变原数组。
var a = [1,3,2,7,6]
console.log(a.reverse()) // [6,7,2,3,1]
console.log(a) // [6,7,2,3,1]
八、数组过滤
filter() 方法返回数组中满足条件的元素组成的新数组,原数组不变
filter()的参数是一个方法
var a = [1,2,3,4,11]
// 第一个参数为一个方法,有三个参数,it:当前值 index:当前值下标 array:这个数组对象
var b = a.filter(function(it, index, array){
return it < 10
})
console.log(b) // [1,2,3,4]
console.log(a) // [1,2,3,4,11]
九、格式化数组
1. map() 方法来根据需求格式化原数组,返回格式化后的数组。原数组不变
var a = [1,2,3,4,5]
// 参数同filter方法
var b = a.map(function(it,index,array){
return it + 1
})
console.log(b) // [2,3,4,5,6]
console.log(a) // [1,2,3,4,5]
十、判断数组元素
1. every() 对数组的每一项进行判断,全部为True, 则为True, 反之有一项为false 则为false
var a = [1,2,3,4,5]
var b = a.every(function(it, index, array){
return it < 6
})
var c = a.every(function(it, index, array){
return it < 3
})
console.log(b) // true
console.log(c) // false
2. some()对数组的每一项都进行判断,有一项为true, 则返回为true
var a = [1,2,3,4,5]
var b = a.some(function(it, index, array){
return it > 4
})
var c = a.some(function(it, index, array){
return it > 5
})
console.log(b) // true
console.log(c) // false
十一、 数组遍历
1. forEach() 数组遍历 遍历整个数组,中途不能中断
var arr = ['a','b','c']
var copy = []
arr.forEach(function(it){
copy.push(it)
})
console.log(copy)
十二、isArray()方法 用来判断一个元素是否为数组
Array.isArray([]) // true
Array.isArray({}) // false