unshift方法:定义及用法unshift()方法可以向数组的开头添加一个或多个元素,并返回新的长度。语法arrayObject.unshift(newele1,newelet2,....,neweleX)参数说明newele1是必需的。添加到数组的第一个元素newele2是可选的。添加到数组的第二个元素。newelex是可选的。可以添加几个元素。返回值数组的新长度。说明unshift()方法会将其参数插入到arrayObject的头部,并将现有元素顺序移动到更高的下标以腾出空间。此方法的第一个参数将成为数组的新元素0,如果有第二个参数,它将成为新元素1,依此类推。注意unshift()方法并没有创建一个新的,而是直接修改已有的数组。提示和注意事项注意:此方法会更改数组的长度。提示:要将一个或多个元素添加到数组末尾,请使用push()方法。在之前的开发过程中,我使用unshift解决了一个问题。在这里分享一下:这是一个产品分类页面。可以看到有一级菜单和二级菜单。目的是让每个二级菜单的名字都是all,这样当你点击左边的一级菜单时,默认请求的是一级分类下的所有数据,但是当该类别是在后台添加的,未添加。这个叫所有分类,在后台添加不太好,所以最好是获取数据在前端处理。一开始想写个标签放在二级菜单循环前面,但是操作还是太复杂了。想了想,用unshift来操作这个需求是很合适的。数据结构如下:getAllCategory:function(){letthat=this;getCategoryList().then(res=>{res.data.forEach((item)=>{item.child.unshift({id:item.id,name:'All'})})letdata=res.data;that.categoryTitle=data[0].name;that.sid=data[0].id;that.productList=data;that.categoryErList=res.data[0].child?res.data[0].child:[];that.page=1;that.loadend=false;that.tempArr=[];that.productslist();)},后台返回的数据结构是一个二维数组,child在每个对象都是一个二级菜单,所以在获取数据的时候,给数组item中每个对象的child添加一个名为“all”的类,给它的id就是父级的id,因为当点击左侧一级菜单,默认会请求当前分类下的所有数据。此函数是使用unshift数组方法的示例。shift方法:定义及用法删除原数组的第一项,返回删除元素的值;如果数组为空,则返回未定义语法vara=[1,2,3,4,5];varb=a.shift();//a:[2,3,4,5]如果您觉得这篇文章对您有用,请给我们的开源项目一个小星星:http://github.crmeb.net/u/defu太好了!
