let arr = [1, 2, 3, 4, 5 ]
let arr1 = [6, 7, 8, 9,10]
let res = arr.concat(arr1) // [1, 2, 3, 4, 5, 6, 7, 8, 9,10]
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
// 第一个参数指目标参数索引 (从这个索引值开始变成要复制的值)
// 第二个 参数为以目标参数为基准 复制数组第几个(也是索引值)
// 第三个 参数为以目标参数为基准 复制到数组第几个(也是索引值)
let res = arr.copyWithin(1, 2, 6) // [1, 3, 4, 5, 6, 6, 7, 8, 9, 10]
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let res = arr.entries()
for (let e of res) {
console.log(e);
// (2) [0, 1]
// (2) [1, 2]
// (2) [2, 3]
// (2) [3, 4]
// (2) [4, 5]
// (2) [5, 6]
// (2) [6, 7]
// (2) [7, 8]
// (2) [8, 9]
// (2) [9, 10]
}
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const res = arr.every((item) => {
return item > 5
}) // false
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const res = arr.fill(0, 2, 8) // [1, 2, 0, 0, 0, 0, 0, 0, 9, 10]
过滤器按条件把数组中的过滤出来,然后重新组成数组
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const res = arr.filter((item) => {
return item > 5
}) // [6, 7, 8, 9, 10]
找到数组中第一个符合条件的数据,返回那个数据
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const res = arr.find((item) => {
return item > 5
}) // 6
和find方法一样不过返回的是那个数据的索引值
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const res = arr.findIndex((item) => {
return item > 5
}) // 5
合并数组中小数组,()里参数是根据小数组层数绝定的
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, [11, 12]]
const res = arr.flat() // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
遍历数组
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const res = arr.forEach((item) => {
return console.log(item)
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10
})
从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。(也可以进行一些操作)
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(Array.from(arr, (item) => {
return item + 1
})) // [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
检查数组中是否包含某一数据 ,包含返回true 不包含返回false
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const res = arr.includes(2) // true
检查数组手否包含某一项 ,包含返回数组中第一次出现此数据的索引值,不包含返回-1
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const res = arr.indexOf(2) // 1
判断该数据类型是否是数组,是返回true 不是返回 false
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const res = Array.isArray(arr) // true
把数组转成字符串模式,()里不写默认逗号隔开, ''空引号可以取消所有逗号连接,也可以用其他连接
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const res = arr.join('+') // 1+2+3+4+5+6+7+8+9+10
查找数组中最后一次出现元素的索引值
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1]
arr.lastIndexOf(1) // 10
遍历数组的每一项,可以对每一项统一进行操作,并且返回一个新的数组。
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr.map(item => item * 10) // [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
Array.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let res = arr.pop()
console.log(res) // 10
console.log(arr) // [1, 2, 3, 4, 5, 6, 7, 8, 9]
将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let res = arr.push(0)
console.log(res) // 11
console.log(arr) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,0]
累加器,对数组中的每个元素进行累加,将其结果汇总为单个返回值。
let arr = [1, 2, 3, 4, 5]
// reduce()第一个参数是一个回调函数进行数据操作,第二个参数是回调函数第一个参数累加器的初始
// 值,如果 reduce()没有第二个参数那么初始值默认为数组的第一个元素的值
let res = arr.reduce((starting, item) => {
return starting + item
}, 0)
console.log(res) // 15
将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组
let arr = [1, 2, 3, 4, 5]
let res = arr.reverse()
console.log(res) // [5, 4, 3, 2, 1]
从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
let arr = [1, 2, 3, 4, 5]
let res = arr.shift()
console.log(res) // 1
console.log(arr) // [2, 3, 4, 5]
返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。
提取起始处的索引 0 开始,从该索引开始提取原数组元素。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。如果省略 begin,则 slice 从索引 0 开始。如果 begin 超出原数组的索引范围,则会返回空数组。
let arr = [1, 2, 3, 4, 5]
let res = arr.slice(0, 5)
res.shift()
console.log(res) //[2, 3, 4, 5]
console.log(arr) //[1, 2, 3, 4, 5]
测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。
let arr = [1, 2, 3, 4, 5]
let res = arr.some(item => item === 3)
console.log(res) // true
用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的
let arr = [3, 2, 1, 5, 4]
let res = arr.sort()
console.log(res) // [1, 2, 3, 4, 5]
通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
第一个参数,是要开始位置是索引值,第二个是要被替换元素的个数,第三个是替换成什么元素。如果第二个参数为0那么就是增加,第三个不写就是删除。
let arr = [1, 2, 3, 4, 5]
let res = arr.splice(1, 2, 6)
console.log(res) // [2, 3]
console.log(arr) // [1, 6, 4, 5]
返回一个字符串,表示指定的数组及其元素。
let arr = [1, 2, 3, 4, 5]
let res = arr.toString()
console.log(res) // 1,2,3,4,5
将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。
let arr = [1, 2, 3, 4, 5]
let res = arr.unshift(0)
console.log(res) // 6
console.log(arr) // [0, 1, 2, 3, 4, 5]