我有一个由 7 位数字组成的字符串,如果字符串仅重复 2 位数字,我需要一个返回“true”的函数,例如:
check('9669669'); // true
check('0000001'); // true
check('5555555'); // false
check('1111123'); // false
我想知道最简单的方法。 谢谢。
最佳答案
这样的事情应该可以工作,将唯一字符推送到数组中,并检查它的长度是否为 2
function check(str) {
var arr = [], i = 0, parts = str.split('');
for (var j=0; j<parts.length; j++) {
if (arr.indexOf(parts[j]) === -1) arr.push(parts[j]);
}
return arr.length === 2;
}
或更奇特的
function check(str) {
return str.split('').reduce(function(p, c) {
if (p.indexOf(c) < 0) p.push(c); return p;
}, []).length === 2;
}
关于javascript - 使用 JS 找出字符串中字符重复的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28772371/