数组 Array(引用数据类型)
什么是数组?
它是一组数据,里面值的类型不限制,尽量存放相同类型的值,是一个特殊的object
数组的创建方法
let arr = new Array(10) //里面只有一个数值的时候,表示该数组的length(长度)
let arr_1 = new Array(10, 20,undefined);
let arr_2 = [1, 2,'你不对劲'];
let arr_3 = Array(1, 2, 4,false);
数组的length和下标
let arr = [1, 2, 3, 4, 5, 6];
console.log(arr);
// 可以通过length修改数组的长度,会改变原数组
arr.length=2
console.log(arr)
arr.length = 6
console.log(arr)
//可以通过下标获取数组的值,也可以通过下标修改值
console.log(arr[1]);
arr[0] = "你好";
console.log(arr);
检查是不是数组的方法
Array.isArray()
数组遍历
let arr = [1, 2, 3, 4, 5, 6];
// 1.普通for循环
for(let i = 0;i < arr.length; i++){
console.log(i)
}
// 2. for in (常用来遍历对象)
for(let i in arr){
console.log(i)
}
// 新增内容
// 3.for of (遍历数组)
for(let i of arr){
console.log(i)
}
// 高阶函数 forEach 没有返回值
arr.forEach(()=>{})
// map 也能遍历数组 有返回值
arr.map(function(item,index,arr){
console.log(item,index,arr)
})
//forEach 和 map 的区别
//forEach(callback) 遍历数组,无return 即使有return,也不会返回任何值,并且会影响原来的数组
//map(callback) 映射数组(遍历数组),有return 返回一个新数组 。
数组的基本方法
push() // 在数组的后面添加元素,返回值是新的数组长度
pop() // 在数组的后面删除元素,返回值是删除的数组,只能删除一个
shift() //在数组的开头删除元素,返回值是删除的元素,只能删除一个
unshift() //在数组开头添加元素,返回值是新的数组长度
sort() // 数组排序,根据Ascii码排序,只能排小于10的数,默认升序
可以在里面写函数 sort(function(a,b){return a-b})//升序 b-a降序
reverse() // 数组反转,返回值是反转后的数组
slice(start,end) //截取 ,不会改变原数组,返回值是截取后的数组,可以用来浅拷贝
concat() //数组合并 ,返回合并后的数组,可以用来浅拷贝
join() // 返回的是字符串,默认用','隔开,也可以指定样式
indexOf()//查找某个元素的索引值,若有重复的,则返回第一个查到的索引值若不存在,则返回 -1
splice()// splice 改变原来的数组
// 返回一个新的数组
// 2个参数,删除数据
// 3个参数,第二个参数为0,插入
// 第二个参数是1以上,替换
delete(arr_2[1]) // 删除下标的值,不会改变数组长度
高阶函数
forEach(callback) //遍历数组,无return 即使有return,也不会返回任何值,并且会影响原来的数组
map(callback) // 映射数组(遍历数组),有return 返回一个新数组
filter(callback) //数组过滤,返回满足条件后的数组
every(callback) //所有成员满足条件,返回turn
some(callback) // 有一个成员满足条件,返回turn
reduce(callback)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix