添加元素js中给数组添加元素主要是通过push和unshiftArray.prototype.push这两个方法函数概述push()方法调用一个或多个元素被添加到数组的末尾并返回数组的新长度(此方法修改原始数组)。语法arr.push(element1,...,elementN)关注新加入的元素出现在数组末尾,一次可以加入多个元素,返回值为数组的最新长度代码示例简单使用让arr=[1,2];让newLength=arr.push(3,4);console.log(newLength)//newLength:4comparison通过脚本添加和ES6销毁函数添加性能比较push(){letarr=[1,2];让newLength=arr.push(3,4);}functionadd(){让arr=[1,2];让len=arr.length;arr[len]=3;arr[len+1]=4;}函数es6(){让arr=[1,2];arr=[...arr,3,4]}letsum=1000000;//100万次console.time('push')for(letindex=0;index{arrMap.unshift(val);})console.log(arrMap);//#2第一名的输出与第二名的输出不同。删除元素数组中元素的删除方式有两种,分别是pop()和shift();和添加新元素一样,一种是从尾部删除,一种是从头删除Array.prototype.pop函数概述pop()方法删除数组最后一个元素,并返回元素长度的值)语法arr.pop()关注从元素末尾删除如果数组为空,返回删除的元素,返回元素未定义代码示例letarr=[1,2];letdelEle=arr.pop();console.log(delEle);//2console.log(arr);//[1];Array.prototype.shift函数概述shift()方法从数组中删除第一个元素并返回该元素的值(该方法改变数组的长度)。语法arr.shift()关注从数组头部删除元素返回删除的元素本身如果数组为空,则返回元素未定义在数据结构中实现栈和队列数据结构(stacks)栈(stack)也称为stacks,这是一个具有有限操作的线性表。将插入和删除操作限制在列表末尾的线性列表。这一端称为栈顶,另一端称为栈底。向栈中插入一个新元素也称为压入、压入或压入。就是将新元素放到栈顶元素的最上面,使其成为新的栈顶元素;从堆栈中删除元素也称为入栈或出栈。unstack,即删除栈顶元素,使其相邻的元素成为新的栈顶元素。从概念描述来看,我们只需要满足先进后出(last-in-first-out)的特性即可;所以如果我们压栈的时候是在数组的末尾,那么我们出栈的时候就得从末尾开始。堆栈函数Stack(initData){this.data=initData||[];}//pushStack.prototype.in=function(element){returnthis.data.push(element);}//popStack.prototype.out=function(){returnthis.data.pop();}从数组头部推入functionStack(initData){this.data=initData||[];}//pushStack.prototype.in=function(element){returnthis.data.unshift(element);}//popStack.prototype.out=function(){returnthis.data.shift()};}数据结构(队列)队列是一个特殊的线性表,它的特殊之处在于它只允许在表的前端(front)进行删除操作,在表的后端(rear)进行插入操作。和栈一样,队列是一个有限操作的线性表。插入操作结束的称为队尾,删除操作结束的称为队头。代码实现和栈一样,我们可以把数组的任意一端作为队列的前端;如果数组的头部是前端,那么数组的尾部就是后端,即删除数组头部的元素,添加元素就在数组的末尾//使用shift和push实现函数Queue(initData){this.data=initData||[];}//添加Queue.prototype.in=function(element){returnthis.data.pop(element);}//删除Queue.prototype.out=function(){returnthis.data.shift();}总结push,pop,unshift,shift这四个函数都是数组提供的,用于对数组中的元素进行添加和删除;在日常开发中结合使用,可以帮助我们快速实现很多功能。在使用vue、angular等框架时,需要注意它们对数组的双向数据绑定的限制