数组添加元素
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是后一个元素 降序排列
arr.sort((a,b)=>{
if(a>b){
return -1;
}else if(a<b){
return 1;
}else{
return 0;
}
})
arr.sort((a,b)=>b-a)
数组链接
var arr1=[1,2,34,56,45,34];
var arr2=[231,2132,12];
//可以传多个数组,进行合并
arr1.concat(arr2)
数组裁切,返回数组的一部分
slice(a,b)方法,从a位置截取到b位置停止,不包含b位置,返回截取的字符串
map方法
map()方法不会改变原数组可以return出去而forEach不行
var arr1=[12,323,34,321,12,332]
//返回新数组
var aww=arr1.map(ele=>ele*2)
reduce方法 累加器
var arr=[1,23,43,3423,321,232]
var res=arr.reduce((tol,curre)=>tol+curre,0)
//第一个是数组中第一个二个参数,第二个参数是初始值,如果不给初始值的情况下,默认是数组中第一个和第二个参数开始相加,给了初始值,就从初始值进行相加
数组过滤,筛选数组中的值 filter
前端框架
前端框架太多了,真的学不动了,别慌,其实对于前端的三大马车,Angular、React、Vue 只要把其中一种框架学明白,底层原理实现,其他两个学起来不会很吃力,这也取决于你以后就职的公司要求你会哪一个框架了,当然,会的越多越好,但是往往每个人的时间是有限的,对于自学的学生,或者即将面试找工作的人,当然要选择一门框架深挖原理。
以 Vue 为例,我整理了如下的面试题。