数组是算法复习的基础,因为在JS中是不存在栈与队列这种数据结构的.我们只能通过数组的API来模拟实现栈与队列
基础
常用的数组API等玩意
创建数组
一维数组
const list = new Array()
带长度
const list = new Array(length)
带默认值
const list = new Array(length).fill(number)
二维数组
const list = new Array(length).fill(number).map(()=> new Array(length).fill(numer))
循环
for
for(let i = 0; i < list.length; i++)
forEach
list.forEach((item,index)=>{})
map
const newlist = list.map((item,index)=>{})
// map方法会根据你传入的函数逻辑对数组中每个元素进行处理,返回一个全新的数组
数组是特殊的对象,所以也可以用下面的两种方法
for-in
//for-in语句是一种严格的迭代语句,用于枚举**对象**中的**非符号键属性**
//如果用于数据则会输出索引值
//由于对象的属性是无序的,所以for-in语句不能保证返回对象属性的顺序,如果要迭代的变量是Null或者undenfined,则不执行,
for-of
// for-of语句是一种严格的迭代语句,用于遍历可迭代**对象**的**元素**
// 如果用于数组则会输出数组元素
// 循环顺序:可迭代对象的next()方法产生值得顺序迭代元素
添加元素
添加到头部
// unshift
list.unshift(number)
添加到尾部
// push
list.push(item)
添加到指定位置
// splice
list.splice(index,howmany,item1,……,itemx)
splice用于向数组中添加、删除元素,然后返回被删除的元素。如果只有两个参数,就是进行删除
index----操作的位置
howmany----从操作的位置开始要删除的数量,如果为0,则不进行删除
item1,……,itemx----向数组中添加的新元素
删除元素
删除头部元素
// shift
删除数组头部元素、并返回该元素
list.shift(item)
删除尾部元素
//pop
//删除尾部元素,并返回该元素
list.pop()
删除指定位置
// splice()
// 添加那里有
实现一个栈
栈的特点:先进后出
利用的api
入栈:push()
出栈:pop()
实现一个队列
队列的特点:先进先出
利用的api
入队:push()
出队:shift()