zoukankan      html  css  js  c++  java
  • js 数组排除重复值(string)

    前提:数组中的元素类型为:string

    在网上看了许多高大尚的文章,还是解决不了我的string arry 的问题,只能怪自己脑残了,上代码:

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>jQ数组string去重</title>
        <script src="jquery-1.7.2.min.js"></script>
        <script type="text/javascript">
            $(function () {
                var sbArray = new Array(["北京"], ["石家庄"], ["天津"], ["北京"], ["石家庄"], ["天津"], ["保定"], ["北京"], ["邯郸"], ["保定"], ["廊坊"], ["保定"]);
                var sb = new Array();
                alert(sbArray.length);
                alert(sbArray.indexOf("北京"));
                //遍历数组
                $('input').click(function () {
                    if (sbArray.length > 0) {
                        for (var i = 0; i < sbArray.length; i++) {
                            if (sb.toString().indexOf(sbArray[i]) < 0) {
                                sb.push(sbArray[i]);
                            }
                        }//end for
                        $("#p2").text(sb.toString());
                    }//end if
                });
            });
        </script>
    </head>
    <body>
        <input type="button" value="排重" />
        <p id="p2"></p>
    </body>
    </html>

    注意:在sbArray数组中,sbArray.indexOf("北京") 的返回值为 -1 ,也就是没有包含,看来不能直接通过indexOf()判断了。

    为了达到效果,添加了一个toString() 方法,这样转换为string后indexOf()板儿逼能用了。

    这是我自己想到的笨方法,当然它的时间复杂度可能满足不了大家的要求,勿喷。。

  • 相关阅读:
    Mysql 批量插入数据的方法
    sql server 多行合并一行
    跨服务器多库多表查询
    OPENQUERY用法以及使用需要注意的地方
    C# 判断操作系统的位数
    rpc介绍
    JavaScript decodeURI()与decodeURIComponent() 使用与区别
    UNIX 时间戳 C#
    C# winform javascript 互调用
    oracle 实例名和服务名以及数据库名区别
  • 原文地址:https://www.cnblogs.com/Ruonan-Li/p/3806110.html
Copyright © 2011-2022 走看看