当前位置: 首页 > Web前端 > HTML

数组运算--微信小程序学习教程

时间:2023-04-02 23:10:39 HTML

前言相信在小程序公测上线后,已经有不少小伙伴申请注册小程序了。在开发阶段也遇到了很多问题,比如wx.request数据请求不成功,操作数组的时候不知道怎么往数组里面push数据,怎么监听用户输入的状态,还有本地获取不到css的background-image。资源等等,本博客会出一个专题,为遇到这些问题的朋友们解决思路。数组操作今天主要讲数组操作。相信对于用过vuejs、reactjs等mvvm框架的童鞋来说,微信小程序的数组操作是很简单的,原理都是一样的。这是一个简单的demo,已经上传到github,届时可以直接下载。我们主要说一下数组中一些常用的操作方法,比如在数组中向前向后插入新数据,修改数组,删除数组,清空数组,还有一些其他的操作方法,给大家学习思路。Demo地址:https://github.com/bluefox168...Demo数组操作示例路径:/pages/array/array.wxml前后插入新数据Page({data:{list:[{id:1,name:'时令新鲜水果',count:1},{id:2,name:'精致糕点',count:6},{id:3,name:'全球美食烘焙原料',count:12},{id:4,name:'麻辣鲜海鲜',count:5}]}})我们初始化一些数据,我们需要向列表中添加新的数据,我们需要使用JavaScript的concat()方法,concat()方法用于连接两个或多个数组,此方法不会改变现有数组。其实,我们所说的向前向后插入数据,其实就是将两个数组组合成一个新的数组,然后使用this.setData()渲染到页面上。我们来看看微信小程序中的代码。插入数据前移demo//增加数据前移add_before:function(){//要添加的数组varnewarray=[{id:6,name:'增加数据前移--'+newDate().getTime(),计数:89}];//使用concat()合并两个数组this.data.list=newarray.concat(this.data.list);//将合并后的数据发送给View层,即渲染页面//大家记录一下,修改数据后,必须再次执行`this.setData()`,页面才会渲染数据。this.setData({'list':this.data.list});}向后插入数据demo//向后增加数据add_after:function(){//要添加的数组varnewarray=[{id:5,name:'向后增加数据--'+newDate().getTime(),计数:89}];this.setData({'list':this.data.list.concat(newarray)});},细心的朋友应该会发现,当两段使用concat()合并数据时,concat括号中的数据是不一样的。向前和向后插入数据的区别就在这里。//假设这一段是我们要添加的新数组varnewarray=[{id:5,name:'向后添加数据--'+newDate().getTime(),count:89}];//到Forward--使用newarray和this.data.list合并this.data.list=newarray.concat(this.data.list);//Backward--使用this.data.list和newarray合并this.data。list=this.data.list.concat(newarray);修改数组来修改显示的数据是开发过程中很常见的事情。//修改数组edit:function(e){//这个参数“e”的具体作用,请参考微信小程序官方提供的说明,地址为https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/event.html?t=20161107vardataset=e.target.dataset;varIndex=dataset.index;//在wxml页面中使用data-index="{{index}}"传递来标识正在编辑的是哪个数组。//我们要修改的数组this.data.list[Index].name='修改内容'+newDate().getTime();//将合并后的数据发送到视图层,即渲染页面//大家记录下,修改完数据后,必须再次执行`this.setData()`,页面才会渲染数据。this.setData({list:this.data.list});}删除一条数据,如果有新增或修改,则必须删除。删除需要使用JavaScriptsplice()方法,splice()方法向数组添加/删除项目,然后返回删除的项目。//删除remove:function(e){vardataset=e.target.dataset;varIndex=dataset.index;//使用`index`来标识要删除的数据条数,第二个数据就是要删除的条数,一般为1this.data.list.splice(Index,1);//渲染数据this.setData({list:this.data.list});啊。//Emptyclear:function(){//其实就是让数组成为一个空数组。this.setData({list:{}});操作方式有很多种,大家可以看下面的截图。每个具体的操作方法,可以去国内的w3s去了解一下。http://www.w3school.com.cn/js...演示地址:https://github.com/bluefox168...通信。程序技术开发有一些高手,也有一些刚入行的小白。特此,我建立了一个微信小程序技术交流圈,希望能给大家一个纯技术交流圈,技术交流,自我提升。我们也会不定期发布一些微信小程序的学习教程。本群目标是纯(干)纯(货)技术交流群。它不会死于广告。已开通群主邀请确认机制。需要进群的朋友请加我个人微信amwhuang。(备注:小程序进群)文章起始地址:数组运算--微信小程序学习教程http://lanchenglv.com/article...如需转载请注明转载出处,谢谢.