繁体   English   中英

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

[英]What is the easiest way to find out character repetition in a string using JS?

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

您可以全局替换第一个字符两次。

function check2(str){
    var fun= function(s){
        return s.replace(RegExp(s.charAt(0), 'g'), '')
    };
    str= fun(str);
    return !!(str && fun(str)=== '');
}

var A = ['9669669','0000001','5555555','1111123'];

A.map(CHECK2);

/ *返回值:(Array)[true,true,false,false] * /

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM