wx:for和wx:if连起来使用
发布于 5 年前 作者 jing96 17810 次浏览 来自 问答

要求:Page.data.array =[1,2,3,4,5];然后我要显示1,8,3,4,5,用上述标签该如何使用,才能出现1,8,3,4,5

<block wx:if="{{item==2}}" wx:for="{{array}}">

8

</block>

<block wx:if="{{item!=2}}" wx:for="{{array}}">

{{item}}

</block>

这样子显示的师 8,1,3,4,5小弟刚入门,请大神指点一二

10 回复

一样的,第二种比第一种效率高,只是不同浏览器,这个差距不一样

那你又错了,各执行一千次的结果

喏,暂时平驱

怎么不信邪

//准备数组
var arr = [];
for(var i = 0; i < 10000000; i++){
    arr.push(i);
}
//测时
var beginTime = new Date().getTime();
for(var i= 0,len = arr.length; i < len; i++){
    if(i == 2){
        //
    }
    if(i != 2){
        //
    }
}
alert(new Date().getTime() - beginTime);

多次测试结果在 110到116

//准备数组
var arr = [];
for(var i = 0; i < 10000000; i++){
    arr.push(i);
}
//测时
var beginTime = new Date().getTime();
for(var i= 0,len = arr.length; i < len; i++){
    if(i == 2){
        //
    }
    else{
        //
    }
}
alert(new Date().getTime() - beginTime);

多次测试结果在67到72

测试耗时要用cosole.time和console.timeEnd这样测的结果才准确

所以影响效率,如果循环一千次,就要多判断一千次

这不仅是效率问题,在某些情况下,会得到不一样的结果,所以是一个逻辑问题

edge这个差距最明显

我说错了,是只弹一次,但是,但那是两个if语句,不论i等于几,都会走第二个if语句去判断一下

回到顶部