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()板儿逼能用了。

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

js 数组排除重复值(string)

时间: 2024-11-05 15:58:34

js 数组排除重复值(string)的相关文章

Js数组去重复取唯一值

function isBigEnough(element) { return element >= 10; } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); // filtered is [12, 130, 44] function onlyUnique(value, index, self) { return self.indexOf(value) === index; } // usage example: var a = [

js 数组去重复、内置方法

1.使用js 数组去重复: 方法①: var arr=[1,2,1,5,2,3,5,1,6,9]; function deRepeat(){ var newArray=[]; var obj={}; var index=0; var len=arr.length; for(var i=0;i<len;i++){ if(obj[arr[i]]==undefined){//不存在 obj[arr[i]]=1; newArray[index++]=arr[i]; }else if(obj[arr[i]

php 检查该数组有重复值

if (count($array) != count(array_unique($array))) { echo '该数组有重复值'; }

数组去掉重复值

1.一维数组 array_unique(); 2.二维数组 //todo 二维数组去掉重复值class array_table { function array_unique_fb($array2D) { foreach ($array2D as $v) { $v = join(",", $v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 $temp[] = $v; } $temp = array_unique($temp); //去掉重复的字符串,也就是重

JavaScript几种数组去掉重复值的方法

数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复.主要是理清思路和考虑下性能.以下方法,网上基本都有,这里只是简单地总结一下. 思路: 遍历数组,一一比较,比较到相同的就删除后面的团风县大学 遍历数组,一一比较,比较到相同的,跳过前面重复的,不相同的放入新数组 任取一个数组元素放入新数组,遍历剩下的数组元素任取一个,与新数组的元素一一比较,如果有不同的,放入新数组. 遍历数组,取一个元素,作为对象的属性,判断属性是否存在 1. 删除后面重复的: view source print? 1

PHP如何去掉多维数组的重复值

1.定义函数 function array_unique_new($arr){ $t = array_map('serialize', $arr);//利用serialize()方法将数组转换为以字符串形式的一维数组 $t = array_unique($t);//去掉重复值 $new_arr = array_map('unserialize', $t);//然后将刚组建的一维数组转回为php值 return $new_arr; } 2.定义数组 $arr = array(array('sup_

二维数组去除重复值和array_unique函数

今天遇到了一个问题,就是从数据库中去除的数组为一个二维数组,现在就是想将二位数组进行去重,但是在php中,对于一个一维数组,我们可以直接使用php的系统函数array_unique,但是这个函数不能对多维数组进行去除重复,因此我需要自己写一个去除二维数组重复值的函数. 1 function array_unique_fb($array2D){ 2 3 foreach ($array2D as $v){ 4 $v=join(',',$v);//降维,也可以用implode,将一维数组转换为用逗号连

php二维数组去除重复值

<?php$test[0] = array( 'id' => '17', 'name' => "儿童", 'ra' => "456");$test[1] = array( 'id' => '17', 'name' => "sad儿童", 'ra' => "789");$test[2] = array( 'id' => '16', 'name' => "撒的&quo

高效率去掉js数组中重复项

Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法: 1 function unique(arr) { 2 var result = [], isRepeated; 3 for (var i = 0, len = arr.length; i < len; i++) { 4 isRepeated = false; 5 for (var j = 0, len = result.length; j < len; j++) { 6 if (arr[i] == result