zoukankan      html  css  js  c++  java
  • 继续昨天的bug

    if(userInfoArray==null)//如果为空
    {
    userInfoArray=new ArrayCollection();
    userInfoArray.addItem(userInfo);
    mycookie.clear();
    mycookie.data.userInfoArray=userInfoArray;
    }
    else//不为空
    {
    for(var i:int=0;i<userInfoArray.length;i++)
    {

    if(userInfoArray[i].UserName==userInfo.UserName)
    {
    userInfoArray[i].UserMD5=userInfo.UserMD5;
    userInfoArray[i].Remembered=userInfo.Remembered;
    userInfoArray[i].UserID=userInfo.UserID;
    }
    if(i==userInfoArray.length-1&&userInfoArray[i].UserName!=userInfo.UserName)
    userInfoArray.addItem(userInfo);
    }
    mycookie.clear();
    mycookie.data.userInfoArray=userInfoArray;
    }  
    这块代码的意思就是检查是不是userInfoArray已经有该用户了,如果没有就加入到该列表中。
    看逻辑:
    在for循环中和接下来中出现了错误,检查到已存在该用户的时候未跳出,然后继续执行,到最后一个元素,比较如果不相等,就加入。这时候就会引入重复元素。其实只要在已存在的时候加个break就可以了。但是当时想当然的以为后边的逻辑能处理这种情况,就没加。bug就来了。
    仔细,切记,切记!
    review代码记得
  • 相关阅读:
    正则表达式
    [创业指南]给海归技术创业兄弟的九个忠告
    about avast
    设计模式Hibernate
    job desc
    把INT转换成2进制等
    微服务调用跟踪
    Redis 分布式锁实现
    jquery中的$.ajax()方法
    订单从ftp写入到b2b
  • 原文地址:https://www.cnblogs.com/macula7/p/1960406.html
Copyright © 2011-2022 走看看