Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说js将数组中的字符串执行字母表排序[亲测有效],希望能够帮助你!!!。
<!DOCTYPE html>
<meta charset=utf-8>
<html>
<head>
<title>不区分大小写的字母表排序</title>
</head>
<body>
<script type="text/javascript"> let arr = ['abc', 'aba', 'aef', 'Def', 'BoC', 'FED']; //console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"] let arrSort = arr.sort(function(s, t) { let a = s.toLowerCase(); let b = t.toLowerCase(); if (a < b) return -1; if (a > b) return 1; return 0; }) console.log(arrSort); </script>
</body>
</html>
运行结果:
[ 'aba', 'abc', 'aef', 'BoC', 'Def', 'FED' ]
第二种:将数组每一项按照从第二个字符开始的字母表顺序排序
举例:
输入为:["abc","bac","acb","acg","acz"]
输出为:["bac","abc","acb","acg","acz"]
排序的规则为:按照从第二个字符的字母表进行排序,例如“abc”中第二个字符为b,“bac”第二个字符为a,那么“bac”排在“abc”的前面;如果第二个字符大小也相同,则按照第三个字符的大小进行排序,以此类推,直至比较出大小;如果两个数字完全相同则顺序不变。
<!DOCTYPE html>
<meta charset=utf-8>
<html>
<head>
<title>将数组每一项按照从第二个字符开始的字母表顺序排序</title>
</head>
<body>
<script type="text/javascript"> let compare = function (string1, string2) { for(var i=1;i<string1.length;i++){ let val1 = string1[i]; let val2 = string2[i]; if (val1 < val2) { return false; } else if (val1 > val2) { return true; } } return false; } let a=["abc","bac","acb","acg","acz"]; a.sort(compare); console.log(a); </script>
</body>
</html>
运行结果:
[ 'bac', 'abc', 'acb', 'acg', 'acz' ]
后面会继续补充。。。。。。
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。