JS判断一个字符串是不是含有重复字符

JavaScript025

JS判断一个字符串是不是含有重复字符,第1张

function check( str ) {

    

    while( str.length ) { 

        // 取字符串的第一个字符,在剩余的字符中查找,如果找到,说明有重复

        if( str.slice(1).indexOf( str.charAt( 0 ) ) > -1 ) {

        

            return true 

        

        }

        

        // 如果没找到,把字符串去掉第一个字符,继续查找

        str = str.slice(1)

    

    }

    return false

}

check( 'abcdefg' ) // return false

check( 'abcdefta' ) // return true

还可以通过正则表达式来实现,就一行代码:

function check( str ) {

    return /(.).*?\1/.test( str )

}

我只知道一种,就是通过循环来,然后用一个键值数组来来存储值的出现次数,如上面那个数组的变量名为var jsArr,那么可以下面的方法来记录。

var tmp = new Array()

for(var i = 0, j = jsArr.lengthi <ji++) {

var v = jsArr[i]

tmp[v] = (typeof(tmp[v]) != 'undefined') ? tmp[v] +1 : 1

}

这样就可以知道每个值出现的次数了