Array.from()
字符串转为数组
Array.from('abc');//["a", "b", "c"]
let arr = ['1','2','3'];
Array.from(arr,item=>
console.log(item)//1,2,3
)
Array.isArray()
判断是否为数组
let arr = ['1','2','3'];
Array.isArray(arr);//true
Array.of()
生成数组
Array.of(1);//[1]
Array.concat()
合并数组
let arr = ['1','2','3'];
let arr1 = ['a','b','c'];
let arr2 = ['A','B','C'];
arr.concat(arr1,arr2);//["1", "2", "3", "a", "b", "c", "A", "B", "C"]
Array.every()
判断数组中的元素是否都符合条件
let arr = [1,2,3];
arr.every(item => item>0);//true
arr.every(item => item>1);//false
Array.filter()
查找数组中符合条件的元素
let arr = [1,2,3];
arr.filter(item => item>1);//[2, 3]
Array.find()
查找数组中符合条件的元素后面的第一个值
let arr = [1,2,3];
arr.find(item => item>1);//2
// 和filter的区别:filter返回符合条件的所有元素。find返回后面第一个值
Array.findIndex()
查找数组中符合条件的元素返回序号,没有返回-1
let arr=[1,2,3];
arr.findIndex(item => item > 1) // 1
arr.findIdnex(item => item > 4) //-1
Array.flat()
数组扁平化
let arr = [1,2,[3]];
arr.flat();//[1, 2, 3]
let arr1 = [1,2,[3,[4]]];
arr1.flat(2);//[1, 2, 3, 4]
// 后面跟数组深度,也可用Infinity,表示任意深度
Array.forEach()
数组遍历,可以结合continue和break
let arr = [1,2,3];
arr.forEach(item =>{
console.log(item);//1, 2, 3
});
// 结合continue
arr.forEach(item =>{
if(item==2) {
return
}
console.log(item);//1, 3
});
// 结合break
arr.every(item =>{
if(item==2) {
return
}
console.log(item);//1
});
Array.includes()
查找数组中是否含有某一项
let arr = [1,2,3];
arr.includes(2);//true
//第二个参数为开始查找位置序号(包含)
arr.includes(2,2);//false
// 也可以查找字符串是否包含某个字符
let str='abc';
str.includes('a') //true
Array.indexOf()
查找数组中是否含有某一项返回数组下标
let arr = [1,2,3,4,5];
arr.indexOf(3);//2
// 从数组第4个元素查找
arr.indexOf(3,3);//-1
// 负数代表从后向前,-4就代表从第一个
arr.indexOf(2,-4);//1
// 为正数的时候,如果大于length,则返回-1
// 为负数的时候,则从第一个开始查找
arr.indexOf(2,5);//-1
arr.indexOf(2,-5);//1
Array.join()
把数组按指定字符切割并进行拼接
let arr = [1,2,3,4,5];
arr.join('-');//1-2-3-4-5
Array.map()
遍历数组,返回新的数组
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.map(item => {
return item + 2
})
console.log(arr1)//[3, 4, 5, 6, 7]
Array.pop()
删除数组最后一个元素,并返回一个数组
let arr = [1, 2, 3, 4, 5];
arr.pop()//5
Array.push()
在数组最后添加一个或多个元素,返回一个新数组
let arr = [1, 2, 3, 4, 5];
arr.push(6)
console.log(arr) //[1, 2, 3, 4, 5, 6]
Array.shift()
在数组开头删除一个元素,返回删除的值
let arr = [1, 2, 3, 4, 5];
console.log(arr.shift()) //1
Array.unshift()
在数组开头增加一个或多个元素,返回一个新数组
let arr = [1, 2, 3, 4, 5];
arr.unshift(6,7)
console.log(arr) //[6, 7, 1, 2, 3, 4, 5]
Array.reverse()
翻转数组
let arr = [1, 2, 3, 4, 5];
arr.reverse() //[5, 4, 3, 2, 1]
Array.slice()
截取字符串的一部分,返回新数组
let arr = [1, 2, 3, 4, 5];
arr.slice(2); //[3, 4, 5]
arr.slice(2,3); //[3] 含头不含尾
arr.slice(-2); //[4,5]
Array.splice()
删除或替换现有元素或者原地添加新的元素来修改数组
let arr = [1, 2, 3, 4, 5];
arr.splice(2);//[1,2] 截取前两位
arr.splice(1,1,6)//[1, 6, 3, 4, 5] 下标1开始 向后截取1个 替换成6
arr.splice(2,2)//[1, 2, 5] 下标2开始 截取掉后两位
arr.splice(-2)//[1, 2, 3] 截取掉后两位
Array.sort()
数组排序
let arr = [1, 6, 2, 5, 3, 4];
// 从小到大
arr.sort((a, b) => {
return a > b ? 1 : -1
})
console.log(arr);[1, 2, 3, 4, 5, 6]
// 从大到小
arr.sort((a, b) => {
return a < b ? 1 : -1
})
console.log(arr);[6, 5, 4, 3, 2, 1]
Array.toString()
数组转字符串
let arr = [1, 2, 3, 4, 5];
arr.toString()//1,2,3,4,5
Array.some()
查找数组中满足条件的,返回布尔值
let arr = [1, 2, 3, 4, 5];
arr.some((item)=>{
console.log(item>2)//false fasle true true true
});