文章目录
1.push()方法
push() 将一个或多个元素添加到数组的结尾,并返回该数组的新长度。
// push() 将一个或多个元素添加到数组的结尾,并返回该数组的新长度。此方法会更改数组的长度
let arr = [0,1,2]
let res = arr.push(3,4)
console.log(arr) // [0,1,2,3,4]
console.log(res) // 5
2.pop()方法
pop() 从数组中删除最后一个元素,并返回该元素的值。此方法会更改数组的长度。
// pop() 从数组中删除最后一个元素,并返回该元素的值。此方法会更改数组的长度
let arr = ['提莫','薇古丝','露露','小炮']
let res = arr.pop()
console.log(arr) // ['提莫','薇古丝','露露']
console.log(res) // '小炮'
3.unshift()方法
unshift() 将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。
// unshift() 将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。
const arr = ['提莫','薇古丝','露露','小炮']
const res = arr.unshift('炸弹人')
console.log(arr) // ['炸弹人',提莫','薇古丝','露露','小炮']
console.log(res) // 5
4.shift()方法
shift(): 从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度 。
// shift(): 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度
let arr = ['提莫','薇古丝','露露','小炮']
let res = arr.shift()
console.log(arr) // ['薇古丝','露露','小炮']
console.log(res) // '提莫'
5.splice()方法
splice(): 通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组
// splice(): 通过删除或替换现有元素或者添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组
// splice() 方法有三个参数,第一个参数是要修改的数组的下标
// 第二个参数是要删除的元素的长度,如果为0表示不删除
// 第三个参数是要添加的元素
let arr = ['提莫','薇古丝','露露','小炮']
// arr.splice(1,2) // ['提莫','小炮'] 从下标为1的地方开始删除2个元素
// arr.splice(1,1,'炸弹人') // ['提莫','炸弹人','露露','小炮'] 从下标为1的地方开始删除1个元素,然后添加一个元素,即替换
arr.splice(1,0,'炸弹人') // ['提莫', '炸弹人', '薇古丝', '露露', '小炮'] 从下标为1的地方开始删除0个元素, 然后添加一个元素,即添加
console.log(arr) // ['薇古丝','露露','小炮']
6.sort()方法
sort() 对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列。因此如果要使用sort()方法对数字类型的数组进行排序,需要传入一个函数作为实参。
// **sort()** 对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,
// 然后比较它们的UTF-16代码单元值序列。因此如果要使用sort()方法对数字类型的数组进行排序,需要传入一个函数作为实参。
let arr = [20, 5, 66, 88, 19, 35]
// 没有传入函数作为实参
// arr.sort() //[19, 20, 35, 5, 66, 88]
// 传入函数作为实参
arr.sort(function (a, b) {
// return a-b//从小到大 [5, 19, 20, 35, 66, 88]
return b - a//从大到小 [88, 66, 35, 20, 19, 5]
})
console.log(arr)
7.reverse()方法
reverse() 翻转数组中元素,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
// reverse() 翻转数组中元素,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
let arr = [10, 20, 30]
arr.reverse()
console.log(arr) //[30, 20,10]
8.concat()方法
concat() 用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组
// concat() 用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组
let arr1 = [0, 1, 2, 3]
let arr2 = [4, 5, 6]
let arr3 = arr1.concat(arr2)
console.log(arr3) // [0,1,2,3,4,5,6]
9. slice()方法
slice() 返回一个新的数组对象,这一对象是一个由 begin
和 end
决定的原数组的浅拷贝(包括 begin
,不包括end
)。原始数组不会被改变
// slice() 返回一个新的数组对象,这一对象是一个由 `begin` 和 `end` 决定的原数组的浅拷贝(包括 `begin`,不包括`end`)。
// 原始数组不会被改变
let arr = [0, 1, 2, 3, 4, 5, 6]
let res = arr.slice(1, 3) // 从下标1开始,到3结束,包括1,不包括3,[1,3) 这里的结果是1,2
console.log(res) // [1,2]
10.map()方法
map() 方法返回一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。不会修改原数组
// map() 方法返回一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。不会修改原数组
let arr = [0, 1, 2, 3, 4, 5, 6]
let res = arr.map(item => item + 10)
console.log(res) // [10, 11, 12, 13, 14, 15, 16]
11.forEach()方法
forEach() 对数组的每个元素执行一次给定的函数。不会修改原数组
// forEach() 对数组的每个元素执行一次给定的函数。不会修改原数组
let arr = [0, 1, 2, 3, 4, 5, 6]
arr.forEach(item => {
item = item * 10
console.log(item) // 0, 10, 20, 30, 40, 50, 60
})
console.log(arr) // [0, 1, 2, 3, 4, 5, 6]
12.filter()方法
filter() 返回符合条件的元素组成的新数组
// filter() 返回符合条件的元素组成的新数组
let arr = [0, 1, 2, 3, 4, 5, 6]
// 筛选出偶数
let res = arr.filter(item => item % 2 === 0)
console.log(res) // [0, 2, 4, 6]
13.some()方法
**some()**检测数组中是不是至少有1个元素符合条件。它返回的是一个Boolean类型的值。
// some() 检测数组中是不是至少有1个元素符合条件。它返回的是一个Boolean类型的值。
let arr1 = [2, 4, 6, 8]
let arr2 = [2, 4, 6, 7]
// 判断数组中是否有奇数
console.log(arr1.some(item => item % 2 === 1)) // false
console.log(arr2.some(item => item % 2 === 1)) // true
14.every() 方法
every() 检测一个数组内的所有元素是否都符合条件。它返回一个布尔值。
// every() 检测一个数组内的所有元素是否都符合条件。它返回一个布尔值。
let arr1 = [2, 4, 6, 8]
let arr2 = [2, 4, 6, 7]
// 判断数组中的元素是否都是偶数
console.log(arr1.every(item => item % 2 === 0)) // true
console.log(arr2.every(item => item % 2 === 0)) // false
15.includes()方法
includes() 检测数组是否包含指定元素。返回一个布尔值
// includes() 检测数组是否包含指定元素。返回一个布尔值
let arr = ['提莫', '薇古丝', '露露', '小炮']
console.log(arr.includes('露露')) // true
console.log(arr.includes('炸弹人')) // false
16.indexOf()方法
indexOf() 查找基本数据类型元素在数组中第一次出现的位置的下标,如果数组中没有这个元素,则返回-1
// indexOf() 查找基本数据类型元素在数组中第一次出现的位置的下标,如果数组中没有这个元素,则返回-1
let arr = ['提莫', '薇古丝', '露露', '小炮']
console.log(arr.indexOf('露露')) // 2
17. findIndex()方法
findIndex() 查找复杂数据类型元素在数组中第一次出现的位置的下标,如果数组中没有这个元素,则返回-1
// findIndex() 查找复杂数据类型元素在数组中第一次出现的位置的下标,如果数组中没有这个元素,则返回-1
let arr = [
{ name: '提莫', age: 20 },
{ name: '维嘉', age: 21 },
{ name: '薇古丝', age: 22 }
]
console.log(arr.findIndex(item => item.name === '维嘉')) // 1
console.log(arr.findIndex(item => item.name === '露露')) // -1
18.join()方法
join() 将数组中所有的元素连接成字符串。参数决定连接方式,不传参则是用逗号连接数组元素
// join() 将数组中所有的元素连接成字符串。参数决定连接方式,不传参则是用逗号连接数组元素
let arr = ['提莫', '薇古丝', '露露', '小炮']
console.log(arr.join()) // '提莫,薇古丝,露露,小炮'
console.log(arr.join(' ')) // '提莫 薇古丝 露露 小炮'