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

JavaScript013

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 arr = "1 1 2 3 4 2 5 4" //这是你要比较的值

//split()这是一个js函数在这里的作用是以 ‘ ’(空格为分隔符)分割成数组,arr的指就是保存1 1 2 2..的数值数组

var arr = arr.split(' ')

var obj = {} //定义一个空数组

for(var i=0i<arr.lengthi++){ //循环分割后的数组

var item = arr[i]//取得值

if(obj[item]==null)obj[item] = 1 //判断是否为空,如果为空将这个下标的值设为1

else obj[item] = obj[item]+1 //否者赋值如:obj['1']=1

}

//遍历赋值完的数组这时obj中的数据就是obj['1']=2

for(a in obj)

{

//取得值如第一个 item=2

var item = obj[a]

if(item>1) //判断,第一个1就是为2

alert("重复元素"+a)//a就是数组中元素的值

}

希望对你有帮助