我正在尝试使用Javascript对这个数组进行排序。
我希望数组的显示方式是这样的:
arr = ["ax", "mof", "4", "63", "42", "3", "10", "[", "23", "adidas", "ba", ")", "ABC"];
我希望数组的显示方式是这样的:
["3", "4", "10", "23", "42", "63", "ABC", "adidas", "ax", "ba", "mof", ")", "["]
考虑到符号 “)” 和 “[”。
我希望数组的排序顺序如下:
- 从小到大排列数字
- 然后是单词,不区分首字母大小写
- 最后是符号
我知道我必须使用 sort()
,但问题是我无法对包含符号的数组进行排序,我遇到了这个问题。
我正在使用以下代码在 HTML 中显示数组和排序后的数组:
var arr, text, larr, i;
arr = ["ax", "mof", "4", "63", "42", "3", "10", "[", "23", "adidas", "ba", ")", "ABC"];
larr = arr.length;
text = "<ul>";
for (i = 0; i < larr; i++) {
text += "<li>" + arr[i] + "</li>";
}
text += "</ul>";
document.getElementById("arrayin").innerHTML = text;
console.log(arr);
var arror,textor, larror, j;
arror = arr.sort();
larror = arror.length;
textor = "<ul>";
for (j = 0; j < larror; j++) {
textor += "<li>" + arror[j] + "</li>";
}
textor += "</ul>";
console.log(arror);
document.getElementById("Oarray").innerHTML = textor;
我的最后一个问题是如何对数字、字母和符号的数组进行排序
arr.sort(sortFunction);
传递。该函数有两个参数。在排序函数内部,你需要首先比较这两个参数是否都是类似数字的类型,如果是,则返回它们比较的适当整数值(将类似数字的字符串作为数字进行比较),如果不是,则将它们都转换为大写字母并按字典顺序进行比较。 - Sunny Patel