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就是数组中元素的值
}
希望对你有帮助