JS实现快速比较两个字符串中包含有相同数字的方法

(编辑:jimmy 日期: 2025/1/23 浏览:2)

本文实例讲述了JS实现快速比较两个字符串中包含有相同数字的方法。分享给大家供大家参考,具体如下:

有两个字符串:

$a = "5,8,0";
$b = "8,0,5";

怎样快速比较这两个字符串包含的数字是相同的,其中分隔符都是相同的,只是数字的排序不一样,两个字符串长度是一样的

js代码:

方法一:

var s1 = "5,0,8";
var s2 = "8,0,5";
if(s1.split(",").sort().join(",") == s2.split(",").sort().join(",")) {
 alert("数字相同");
}else{
 alert("数字不同");
}

方法二:

var s1 = "5,0,8";
var s2 = "8,0,5";
var a1 = s1.split(",");
var a2 = s2.split(",");
var isSame = false;
if (a1.length == a2.length) {
 isSame = true;
 var length = a2.length;
 for (var i = 0; i < length; i++) {
  if (a1.indexOf(a2[i]) < 0) {
   isSame = false;
   break;
  }
 }
}
if (isSame) {
 alert("数字相同");
} else {
 alert("数字不同");
}

PS:这里再为大家推荐一款功能相似的在线工具供大家参考使用:

在线文本比较工具:
http://tools.jb51.net/aideddesign/txt_diff

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。