javascript - 如何检查两个字符串是否具有相同的字符(包括特殊字符)

标签 javascript jquery

我有两个问题

1) 如何检查两个随机字符串是否具有相同的字符 就像我一样

var str1 = "ansar@#//1";
var str2 = "@#//sanra1";

应该返回true

2)如果没有相同的字符,那么第二个字符串中不存在哪些字符

var str1 = "ansar@#//123";
var str2 = "@#//sanra";

应返回 123

我知道我可以通过以下方式得到第一个问题的答案

str1.length===str2.length && str1.split("").sort().join() == str2.split("").sort().join(); 

但不确定如何获取与第二个字符串不匹配的字符

最佳答案

考虑这些实现:

1)

var str1 = "ansar@#//1";
var str2 = "@#//sanra1";

function first(str1, str2) {
    return Array.prototype.every.call(str1, function(c) {
        return str2.indexOf(c) > -1;
    }, this);
}

console.log(first(str1, str2));
  • var str1 = "ansar@#//123";
    var str2 = "@#//sanra";
    
    function second() {
        return Array.prototype.filter.call(str1, function(c) {
            return str2.indexOf(c) === -1;
        }, this).join('');
    }
    
    console.log(second(str1, str2));
    
    <小时/>

    更新用于检查字符串是否包含可以使用 ES6 Set 的相同字符:

    const checkIfStringsContainSameCharacters = (string1, string2) => {
      return new Set(string1).size === new Set(string1 + string2).size;
    }
    

    关于javascript - 如何检查两个字符串是否具有相同的字符(包括特殊字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37049306/

    相关文章:

    javascript - 如何更改另一个跨度内按钮内跨度的颜色

    Javascript setInterval clearInterval 简单示例无法解释?

    javascript - 如何只显示一个具有相同类别的div,然后显示其他div

    javascript - JQueryUI 小部件函数作用域问题

    javascript - 将 JSON 传递给 JQuery 函数 Javascript

    javascript - JavaScript 中好的单例模式

    javascript - 自定义下拉列表不起作用

    javascript - 从 Mysql 中选择日期以与 bootstrap datepicker 一起使用

    jquery - 以多个内容为中心的 2 个 div

    javascript - 单击 div 外部时隐藏子菜单