判断是否为数组
根据索引获取数组的指定元素(at())
向数组添加元素
删除数组元素
反转数组
数组的拷贝
创建新数组
目录
检查一个对象是否是数组---Array.isArray()
console.log(Array.isArray([1,2,3]))
console.log(Array.isArray(["李白","杜甫","独孤剑圣"]))
console.log(Array.isArray({name:"李白"}))
//true true false
获取数组中的指定元素---at()
const arr = ["李白","杜甫","独孤求败"]
console.log(arr.at(-2))
//杜甫
向数组添加元素
push() ---向数组的末尾添加一个或多个元素,并返回新的长度
let arr = ['李白'];
arr.push('杜甫','独孤')
console.log(arr)
//['李白','杜甫','独孤']
unshift() ---向数组的开头添加一个或多个元素,并返回新的长度
let arr = ['李白'];
arr.unshift('杜甫','独孤');
console.log(arr)
//['杜甫','独孤','李白']
删除数组元素
pop() ---删除并返回数组的最后一个元素
let arr = ['李白','杜甫','独孤']
console.log(arr.pop())
console.log(arr)
//独孤 ['李白','杜甫']
shift() ---删除并返回数组的第一个元素
let arr = ['李白','杜甫','独孤']
console.log(arr.shift())
console.log(arr)
//李白 ['杜甫','独孤']
splice() ---删除、插入、替换数组中的元素
--参数:1.删除的起始位置 2.删除的数量 3.要插入的元素
--返回值:返回被删除的元素
let arr = ['李白','杜甫','独孤','喜羊羊','美羊羊','灰太狼']
console.log(arr.splice(1,3)) //['杜甫','独孤','喜羊羊']
console.log(arr) //['李白','美羊羊','灰太狼']
arr.splice(1,0,'马老师')
console.log(arr) //['李白','马老师','美羊羊','灰太狼']
arr.splice(2,1,'马保国')
console.log(arr) //['李白','马老师','马保国','灰太狼']
反转数组
reverse() ---可以用来反转数组
let arr = ['李白','杜甫','独孤','喜羊羊','美羊羊','灰太狼']
arr.reverse()
console.log(arr)
// ['灰太狼', '美羊羊', '喜羊羊', '独孤', '杜甫', '李白']
数组的拷贝
浅拷贝 slice() ---只对对象本身进行复制,不会复制对象的属性
语法:
slice() | slice(start,end)
实例:
let arr = [{name:'李白'},{name:'杜甫'}]
let arr2 = arr.slice()
console.log(arr2)
//{name:'李白'} {name:'杜甫'}
深拷贝 structuredClone ---复制对象的同时还复制对象的属性和元素
let arr = [{name:'李白'},{name:'杜甫'}]
let arr2 = structuredClone(arr)
console.log(arr2)
//{name: '李白'} {name: '杜甫'}
创建新数组
map()
map()该方法创建新数组,用于对数组中的每个元素进行处理,并返回一个新数组
语法:map(Fn) , Fn为回调函数
实例:
const array1 = [1, 2, 3, 4];
const map1 = array1.map((x) => x + 3);
console.log(map1);
//[4, 5, 6, 7]
filter()
filter()方法用于根据给定条件筛选数组中的元素,并返回一个新数组。
const arr = [1, 2, 3, 4, 5];
const newArr = arr.filter(x => x % 2 === 0);
console.log(newArr); // 输出: [2, 4]
join() ----将一个数组的所有元素连接成一个字符串并返回该字符串
const elements = ['Fire', 'Air', 'Water'];
console.log(elements.join());
// "Fire,Air,Water"
console.log(elements.join(''));
// "FireAirWater"
console.log(elements.join('-'));
// "Fire-Air-Water"
数组排序
arr.sort()
const arr = [4,77,324,5,7,3,9,56]
arr.sort((a,b)=>{
return a-b //升序
})
console.log(arr) // 3, 4, 5, 7, 9, 56, 77, 324
arr.sort((a,b)=>{
return b-a; //降序
})
console.log(arr) // 324, 77, 56, 9, 7, 5, 4, 3
find
find()
方法返回数组中满足提供的测试函数的第一个元素的值
const array1 = [5, 12, 8, 130, 44];
const found = array1.find((element) => element > 10);
console.log(found);
// Expected output: 12