当前位置:  开发笔记 > 编程语言 > 正文

如何比较两个洗牌的字符串?

如何解决《如何比较两个洗牌的字符串?》经验,为你挑选了1个好方法。

我有以下两个字符串:

var str1 = "hello";
var str2 = "ehlol";

如何检查两个字符串是否包含相同的字符?



1> gurvinder372..:

可能不是最优,但你可以做到

str1.split("").sort().join() == str2.split("").sort().join(); //outputs true

另一个建议的方法在一个注释中(对于字符串长度非常大的优化)

str1.length===str2.length && str1.split("").sort().join() == str2.split("").sort().join(); //first check the length to quickly rule out in case of obvious non-matches


您可以通过首先检查长度来优化它:`str1.length === str2.length && str1.split("").sort().join()== str2.split("").sort().join ()`; 更长,但在简单的情况下将为您节省一些资源
@guradio他们将被单独计算
@ymbirtt具有相同内容和长度的数组仍然不相等,因为它们是引用类型.`一个= []; B = []; a == b // false`,但是`a = []; b = a; a == b // true`.但是字符串不是引用类型,因此比较它们是有效的.您必须使用`for`循环手动迭代数组以检查它们的相等性.
推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有