【微信开发】小程序this.setData({})中对普通字段、数组以及数组对象进行赋值,对数组对象进行操作

前言:

        之最近在开发一个系统的时候,this.setData总有时候会出问题,查了查资料,一下进行总结:

  1. 字段赋值;
  2. 数组静态赋值;

  3. 数组动态赋值;

  4. 对象数组动态赋值;

  5. 组对象进行操作

        ① 末位加数据;

        ② 中间或者开头加数据;

        ③ 删除数据;

直接看代码:

现在data定义:

    testText : '',

    testTextArray : ['A','B','C','D','E'],

    testTextArrayOfObject : [
      {
        title : 'title_1',
        content : '舞台上的刘德华~刘德华~',
      },
      {
        title : 'title_2',
        content : '你是我的观音菩萨,我是你的刘德华',
      },
      {
        title : 'title_3',
        content : '再看一眼就会爆炸哦~',
      },
      {
        title : 'title_4',
        content : '衣服包包给你换新的',
      },
    ],

在onLoad操作:

        

  1. 字段赋值;
        //字段赋值
        this.setData({
          testText : 'abc'
        })
        console.log("赋值过后的testText : ", this.data.testText);

  2. 数组静态赋值;

        //数组静态赋值1
        this.setData({
          'testTextArray[0]' : 'Xxx'
        })
        console.log("数组静态赋值过后的testTextArray1 : ", this.data.testTextArray);
    
        //数组静态赋值2
        this.setData({
          ['testTextArray[1]'] : 'XXXX'
        })
        console.log("数组静态赋值过后的testTextArray2 : ", this.data.testTextArray);

  3. 数组动态赋值;

        //数组动态赋值1:
        for(var i = 0 ; i < this.data.testTextArray.length ; i ++){
          this.setData({
            ['testTextArray[' + i + ']'] : 'X'
          })
        }
        console.log("数组动态赋值1过后的testTextArray : ", this.data.testTextArray);
    
        //数组动态赋值2:
        for(var i = 0 ; i < this.data.testTextArray.length ; i ++){
          let content = 'testTextArray[' + i + ']';
          this.setData({
            [content] : 'Y'
          })
        }
        console.log("数组动态赋值2过后的testTextArray : ", this.data.testTextArray);

 然后在调试器里面检查:

        5. 组对象进行操作

                ① 末位加数据;

    //数组对象进行操作 -- 末位加数据
    let testArray = {title : '敬请期待!',content : '新神诞生~'};
    this.setData({
      testTextArrayOfObject : this.data.testTextArrayOfObject.concat(testArray)
    })
    console.log("数组对象进行操作 -- 末位加数据 过后的testTextArray : ", this.data.testTextArrayOfObject);

                ② 中间或者开头加数据;


    //数组对象进行操作 -- 开头加数据
    let testArray_1 = [{title : '敬请期待!',content : '新神诞生~'}];
    this.setData({
      testTextArrayOfObject : testArray_1.concat(this.data.testTextArrayOfObject)
    })
    console.log("数组对象进行操作 -- 末位加数据 过后的testTextArray : ", this.data.testTextArrayOfObject);

                ③ 删除数据;

    //数组对象进行操作 -- 删除数据
    let index = 0;
    this.data.testTextArrayOfObject.splice(index , 1);//第一个是要删除数据的索引,第二个是需要删除数据的数量
    console.log("数组对象进行操作 -- 删除数据 过后的testTextArray : ", this.data.testTextArrayOfObject);

然后在调试器里面检查:

 

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值