收藏
回答

setData优化问题??哪种执行更快??

请问哪种的执行效率更快?

【第一种setData方式

var list = res.data.list;
for( var i =0;i<list.length; i++){

    var str = 'list['+i+'].name';

var strId = 'list['+i+'].id';

    that.setData({

            [str] : list[i].name,

            [strId] : list[i].id

    })
}


【第二种setData方式】:

var list = res.data.list;
var arrList = [];
for(var i=0;i<list.length;i++){
    var item = {
          id:list[i].id,
          name:list[i].name
     }
    arrList.push(item);
}
that.setData({
    list :  arrList
})



最后一次编辑于  08-01  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

5 个回答

  • 林学
    林学
    08-01

    应该是第二种吧

    08-01
    赞同 1
    回复
  • 鲤子
    鲤子
    08-02

    肯定是第二种

    08-02
    赞同
    回复
  • 铭锋科技
    铭锋科技
    08-01

    第二个是高手

    08-01
    赞同
    回复
  • 张有釜
    张有釜
    08-01

    第二种

    setdata是异步操作的 操作频率快可能操作渲染顺序错误

    比如 list中 索引在后面的 可能先被渲染

    08-01
    赞同
    回复
  • 爆竹声中一岁除
    爆竹声中一岁除
    08-01

    我习惯第二种,而且官方不是建议别频繁setdata么

    08-01
    赞同
    回复 2
    • 詹灿彬
      詹灿彬
      08-01
      但是官方也建议不要一次传大量数据....
      08-01
      回复
    • 爆竹声中一岁除
      爆竹声中一岁除
      08-01回复詹灿彬
      如果存在大量数据也只能用第二种,假如有1000次,你选调用1000次setdata,还是一次性赋值
      08-01
      回复