JS如何实现数组第一个字符串元素包含了第二个字符串元素的所有字符,函数就返回true,否则返回false?

发布于 2022-09-03 13:57:45 字数 407 浏览 11 评论 0

["hello", "hey"]应该返回false,因为字符串"hello"并不包含字符"y"。
["Alien", "line"]应该返回true,因为"line"中所有字符都可以在"Alien"找到。

mutation(["hello", "hey"]) //应该返回 false.
mutation(["zyxwvutsrqponmlkjihgfedcba", "qrstu"]) //应该返回 true.
mutation(["Mary", "Aarmy"]) //应该返回 true.
mutation(["Alien", "line"]) //应该返回 true.
mutation(["floor", "for"]) //应该返回 true.
mutation(["hello", "neo"]) //应该返回 false.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

情丝乱 2022-09-10 13:57:45
function demo(str1, str2) {
    str1 = str1.toLowerCase();
    str2 = str2.toLowerCase();
    return ![].some.call(str2, function (n) {
        return !~str1.indexOf(n);
    });
}

上述代码通俗化,就是把big降低点=》

function demo(str1, str2) {
    str1 = str1.toLowerCase();
    str2 = str2.toLowerCase();
    for (var i = 0, len = str2.length; i < len; i++) {
        if (str1.indexOf(str2[i]) < 0) {
            return false;
        }
    }
    return true;
}
深府石板幽径 2022-09-10 13:57:45

没看懂你的思路,按我的理解,这样写应该就是实现的你的需求:

function mutation(arr) {
    if( arr.length > 1 ){
        var arr0 = arr[0].toLowerCase();
        for( var i = 0 ; i < arr[1].length ; i++){
            if( arr0.indexOf(arr[1].substr(i,1).toLowerCase()) == -1 ){
                return false;
            }
        }
        return true;
    }else{
        return false;    //数组元素不足两个
    }
}
小女人ら 2022-09-10 13:57:45
function test(s1,s2){
    s1 = s1.toLowerCase();
    s2 = s2.toLowerCase();
    
    return s1.split('').sort().join('').indexOf(s2.split('').sort().join('')) == -1 ? false : true;
    
}
暖风昔人 2022-09-10 13:57:45
function mutation(arr) {
    for (var i = 0; i < arr[1].length; i++) {
        if (!new RegExp(arr[1][i], 'gi').test(arr[0])) {
            return false
        }
    }
    return true
}
console.log(mutation(["hello", "hey"]))//应该返回 false.
console.log(mutation(["zyxwvutsrqponmlkjihgfedcba", "qrstu"])) //应该返回 true.
console.log(mutation(["Mary", "Aarmy"])) //应该返回 true.
console.log(mutation(["Alien", "line"])) //应该返回 true.
console.log(mutation(["floor", "for"])) //应该返回 true.
console.log(mutation(["hello", "neo"])) //应该返回 false.
北斗星光 2022-09-10 13:57:45
function mutation(arr) {
    const source = arr[0].toLowerCase(),
        compare = arr[1].toLowerCase().split("");
        
    return(
        compare.every((n) => source.indexOf(n) !== -1)
    );
}
明天过后 2022-09-10 13:57:45
function mutation (str1, str2) {
    let map = {}
    [].forEach.call(str1.toLowerCase(), char => map[char] = true)
    return ![].some.call(str2.toLowerCase(), char => !map[char]).length
}
奈何桥上唱咆哮 2022-09-10 13:57:45

jtgdwan

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文