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
}
这样就可以知道每个值出现的次数了