zoukankan      html  css  js  c++  java
  • 数组操作时避免空值出现

    /*
      移除列表中的条目
      @ metaids id,id,的形式 
    */
    function removeBook(ids) {
            var idarray =ids.split(',');
    		for (var i = 0; i < idarray.length; i++) {
                $("#" + idarray[i]).remove();
            }
    }

    按照上边的代码当传入 id,id,形式的参数,以','结尾时,截取数组会多一个空值。

    导致metaidarray[idarray.length]是一个undefined值,后续会产生js错误。解决办法就是

    循环数组是加一个判断

    if(metaidarray[i]==undefined){continue}

    或者在循环之前截取去掉参数最后位置的',';

    在C#中也经常有这样的操作,为了避免空值出现,可以在截取时加一个参数,如下

    public String GetIds(string ids)
            {
                if (ids.Length == 0)
                    return null;
                StringBuilder idlist = new StringBuilder(300);
                string[] idarray = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                foreach (string id in idarray)
                {
                    idlist.Append(Convert.ToInt32(id) + ",");
                }
                if (idarry.Length > 0)
                    idlist.Remove(idlist.Length - 1, 1);
                return idlist.ToString();
            }
    
  • 相关阅读:
    C#动态显示时间
    死锁问题
    TCP_NODELAY算法使用事项
    二叉搜索树的后序遍历
    从上到下打印二叉树
    栈的压入、弹出序列
    包含min函数的栈
    顺时针打印矩阵
    树的子结构
    合并两个排序链表
  • 原文地址:https://www.cnblogs.com/needrunning/p/2215829.html
Copyright © 2011-2022 走看看