• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > 微信小程序学习数组操作

微信小程序学习数组操作

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-11-30

匿名通过本文主要向大家介绍了数组操作等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

前言

相信在小程序推出公测之后,很多小伙伴都已经抓紧申请注册小程序了。在开发阶段中也碰到了很多的问题,例如wx.request数据请求不成功,在数组操作时,不知道如何往数组里push数据,input如何监听用户输入的状态,css的background-image无法获取本地资源等等,本博客会出一个专题,给碰到这些问题的小伙伴解决思路。

数组操作

今天我们主要讲的是,数组操作。
相信对于用过vuejs、reactjs等mvvm框架的童鞋,微信小程序的数组操作就显得很简单啦,原理是一样的。



这是简单做的一个demo,已经上传到github,到时大伙可以直接下载。我们主要讲在数组中常用的一些操作方法,对数组向前向后插入新的数据、修改数组、删除数组、清空数组,其他的一些操作方式,我会给大伙学习思路。

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
        }]
  }
})

我们初始化一些数据,我们需要对list的添加新的数据里,需要用到JavaScript concat()的方法,concat() 方法用于连接两个或多个数组,该方法不会改变现有的数组。
其实我们的所说的向前向后插入数据,其实也就是把两个数组合拼起来,组成一个新的数组,然后再使用this.setData()即可渲染到页面上。
我们看一下在微信小程序里的代码。

向前插入数据demo

 //向前增加数据
  add_before:function (){


//要增加的数组
var newarray = [{
    id:6,
    name:'向前增加数据--'+new Date().getTime() ,
    count:89
}];

//使用concat()来把两个数组合拼起来
this.data.list = newarray.concat(this.data.list);

//将合拼之后的数据,发送到视图层,即渲染页面
//大伙请记录,修改了数据后,一定要再次执行`this.setData()`,页面才会渲染数据的。
this.setData({
      'list':    this.data.list
 });


  }

向后插入数据demo

  //向后增加数据
  add_after:function (){

    //要增加的数组
    var newarray = [{
            id:5,
            name:'向后增加数据--'+new Date().getTime() ,
            count:89
    }];


    this.setData({
        'list':this.data.list.concat(newarray)
    });


  },

细心的小伙伴应该会发现,这两段在用concat()合拼数据时,concat括号里的数据是不一样的。向前向后插入数据的区别就在这里了。

//假设这一段是我们要新增的数组
var newarray = [{
        id:5,
        name:'向后增加数据--'+new Date().getTime() ,
        count:89
}];

//向前--用newarray与this.data.list合拼
this.data.list = newarray.concat(this.data.list);

//向后--用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=20161107

var dataset = e.target.dataset;
var Index = dataset.index; //在通过在wxml页面里使用 data-index="{{index}}"传递过来的,是为识别正在编辑修改哪个数组。

//我们要修改的数组
this.data.list[Index].name = '修改了内容'+new Date().getTime();

//将合拼之后的数据,发送到视图层,即渲染页面
//大伙请记录,修改了数据后,一定要再次执行`this.setData()`,页面才会渲染数据的。
this.setData({
    list:this.data.list
});



  }

删除某条数据

有增有改也必有删。
删除需要用到JavaScript splice()方式,splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

//删除
  remove:function (e){

    var dataset = e.target.dataset;
    var Index = dataset.index;

    //通过`index`识别要删除第几条数据,第二个数据为要删除的项目数量,通常为1
    this.data.list.splice(Index,1);

    //渲染数据
    this.setData({
        list:this.data.list
    });


  }

清空数据

增修删之后,还得再来一个清空数据呀。

//清空
  clear:function (){

    //其实就是让数组变成一个空数组即可
      this.setData({
          list:{}
      });

  }

总结

今天我们主要讲了增修删清空,其实对数组的操作还有很多方式的,可以看以下截图。

以上就是微信小程序学习数组操作的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-11-30关于微信小程序中跳转传参数与传对象的解析
  • 2018-11-30微信小程序如何实现发送多条服务消息(代码)
  • 2018-11-30微信小程序商城中侧栏分类的效果实现
  • 2018-11-30微信小程序之picker日期和时间选择器
  • 2018-11-30微信小程序实现上传头像详解
  • 2018-11-30关于微信小程序设置启动页面的两种方法介绍
  • 2018-11-30微信小程序的常用工具类详解及实例
  • 2018-11-30微信小程序编辑名片页面开发
  • 2018-11-302018热门微信小程序个人开发入门篇 (附代码)
  • 2018-11-30微信小程序开发功能介绍之加解密NODE-UUID介绍

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 详解微信小程序中增、删、改、查操作实例代码
    • 详解微信小程序开发实例
    • 微信小程序实现点击按钮移动view标签的位置功能
    • 微信小程序实例:四个页面跳转的方法(附代码)
    • 微信小程序中相册选择和拍照的介绍
    • 微信小程序开发(三)名片夹详情页实例教程
    • 微信小程序之小豆瓣图书的介绍
    • 微信小程序云开发API 获取记录数据
    • 解读和分析微信小程序组件:三、swiper滑块视图
    • 微信小程序实例:如何引入外部js的文件(图文)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有