我想比较两个字符串相同的字符数,但是使用javascript以任何顺序。例如,我想比较以下内容
str1 = "a, b, c, d"
str2 = "b, a, c, d"
{{1}},只要两者在任何顺序中都有相同的字符数,就会返回true。
由于
答案 0 :(得分:4)
var compare = function(str1, str2) {
return str1.replace(/\s/g, "").split(",").sort().join() === str2.replace(/\s/g, "").split(",").sort().join()
}
答案 1 :(得分:0)
假设你的意思是“这两个字符串是逗号分隔的单个字符列表,它们是否具有相同的字符”,那么最短的解决方案是
str1.split("").sort() === str2.split("").sort()
我们将字符串拆分为字符,对它们进行排序,使它们的顺序相同。我们确实需要删除空格或比较逗号,因为海报说字符串具有相同的字符数。
答案 2 :(得分:-1)
将字符串转换为数组JSON.parse("[" + string + "]");
,然后通过迭代它们并检查元素来比较这两个数组。
您还可以在String对象上使用split
方法将其转换为数组。