//第四种 Array.of()
var arr4= Array.of(2,34,2);
//第五种 Array(数量).fill(value)
var arr5= Array(4).fill(1,233,34,4)
数组方式创建的区别
// new Array() 这是一个构造函数创建方式
var arr2=new Array(1,223,34);
// Array 也是构造函数方式创建
var arr3=Array(23,21,333);
// Array.of()
var arr4= Array.of(2,34,2);
// Array(数量).fill(value)
var arr5= Array(4).fill(1,233,34,4)
通过构造函数方式创建数组,需要确保Array前面没有被更改还有重新定义
new Array() Array() 这二种方式如果只传一个值,就是数组的长度,值为空
var ar1=new Array(9);
//值为空,长度为9的空数组
Array.of() [] 这俩种方式虽然一个是构造函数创建方式一个是字面量创建方式
但是传一个值就是创建一个值的数组元素
var ar2 =Array.of(1)
var ar3 =[3]
是创建一个值的数组
**注意:**工作中常用的还是字面量创建,因为比较优美,而且还不需要像Array创建的时候还要查看之前是否重新定义以及被更改。
访问数组的方式
通过数组的下标可以进行访问,数组的下标是从零开始的,到数组最大的长度减一,因为数组是从零开始的,但是长度确实从1开始的
var arr=[1,2,3];、
// 0 1 2
//获取数组长度 length方法
console.log(arr.length)
//获取数组中的2
console.log(arr[1])
//因为数组是从零开始的,到达2的时候正好为1
//如果访问超过数组长度的元素
console.log(arr[76])
//因为数组里没有所以返回undefiend
数组添加元素
var arr=[1,343,54,6,5,23,43,2,342];
//如果数组索引下标为3有值的话则会被覆盖掉
arr[3]=45;
//如果数组长度大于当前长度,则会增加到该长度,中间没有值的都为空 empty是空的意思 如果访问则是undefined
arrp[98]=1;
//也可以通过length的方式就行追加
数组删除元素
var ayy1=[12,342,3,2,32,2]
//可以通过length进行删减
arr.length=5;
数组遍历
//采用for循环进行遍历
var arr=[121,34,3,232,23,2]
for(let i=0;i<arr.length;i++){
console.log(arr[i])
}
//for…of循环 ele 代表循环出来的每一项 arr代表数组名字
for(let ele of arr){
console.log(ele)
}
//forEach
arr.forEach((数组每一个元素,索引, 数组本身)=>{})
红色预警好好学这里,重点重点重点 数组的栈模式
//栈是一种后入先出的数据结构,就是说最后一个放进去的元素,是第一个被拿出来的
//JavaScript数组原生支持栈的模式
//定义一个栈,也是字面量创建数组
var arr=[1,23,34]
//入栈,往arr后面添加数组,也可以添加多个,入栈也可以说是添加
arr.push(4)
//出栈 从栈里面删除他并且返回删除的值,删除最后一个值并返回,可以使用变量接受,也可以不用
arr.pop()
//peek操作
//就是通过length长度进行操作
红色预警: 先入先出的数据结构
var var arr=[5,23,34]
//入队
arr.push(2,34,34,4)
//出队 删除第一个元素 返回删除的数组,原数组改变
let ar1=arr.shift()
//头部插入元素unshift()
arr.unshift(12,3,2)
数组方法
//反转数组 reverse()
var arr=[322,2134,3]
arr.reverse()
//返回修改后的数组且改变原数组
//也可以用来分隔字符串 如果split不传参数则进行分隔字符串变成一个数组join是字符串拼接的方法,分隔每个字符串使用
console.log(‘hello’,split().reverse().join())
数组排序
var arr=[1,2,34,3,45,45,1];
//升序排列
arr.sort()
a是数组前一个元素,b是后 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 一个元素 降序排列