javascript - 使用 JS 找出字符串中字符重复的最简单方法是什么?

标签 javascript jquery string

我有一个由 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;
}

FIDDLE

或更奇特的

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/

相关文章:

javascript - "Uncaught TypeError: Cannot use ' in ' operator to search for ' length ' in "由 Datatables 插件和 jQuery 1.11.3 触发

javascript - 简单的textarea字符串替换jquery脚本

javascript - 无需点击php即可确认记录删除

javascript - knockout js jquery 范围 slider && 2 输入

javascript - 如何使用 Jquery 无限期地在 HTML 中闪烁标签

php - 解析字符串并在货币符号后隔离浮点值

Java:如何使用 Map<String,String> 填充文本中的占位符?

javascript - 如何在 jquery 中删除 onclick 和再次点击值时获取值?

javascript - 单击 DIV 内的 IFRAME 时删除 DIV 元素

Java替换字符串中的一个字符