① 我想问一下为什么在js里排序是1,11,2,21,3的这种排序用sort写出来就是这种,想知道为什么
帮你找了一下答案抄:(望采纳)
默认情况下sort方法是按ascii字母顺序排序的
如:1,2,3,4,5,10 结果是:1,10,2,3,4,5 。而不是按数字大小排序
对应方式:
数组.sort(function(i,j){return i>j?1:-1}); //升序
降序你自己想吧。 ^^
② js中如何对含有特殊字符的数组进行排序
javascript的数组有sort方法。按照数值的大小对数字进行排序,必须使用一个排序函数:a代表回数组的前一位,答b代表数组的后一位。var arr = [1,2,3,5,2,5,3,6,2,6,2,6,2,5,9,6,8,54,3,6,8];arr.sort(function(a,b){return a-b});这样是升序排列。如果希望降序排列,就写成return b-a;
③ javascript中文按照拼音首字母排序,如何实现
中文拼音排序一直都是很有趣的一个问题。推荐使用这个函数 String.prototype.localeCompare(),链接 MDN。首先用 localeCompare 试下拼音排序
var array = ['武汉', '北京', '上海', '天津'];
array.sort(
function compareFunction(param1, param2) {
return param1.localeCompare(param2);
}
);
array // ["北京", "上海", "天津", "武汉"]
然后根据 26 个英文字母分组排序,函数如下,
function pySegSort(arr) {
if(!String.prototype.localeCompare)
return null;
var letters = "*abcdefghjklmnopqrstwxyz".split('');
var zh = "阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀".split('');
var segs = [];
var curr;
letters.forEach(function(item,i){
curr = {letter: item, data:[]};
arr.forEach(function(item2){
if((!zh[i-1] || zh[i-1].localeCompare(item2) <= 0) && item2.localeCompare(zh[i]) == -1) {
curr.data.push(item2);
}
});
if(curr.data.length) {
segs.push(curr);
curr.data.sort(function(a,b){
return a.localeCompare(b);
});
}
});
return segs;
}
测试:
pySegSort(["我","不","懂","爱","啊","按","已","呀","选","县"])
结果:
[{"letter":"a","data":["啊","爱","按"]},{"letter":"b","data":["不"]},{"letter":"d","data":["懂"]},{"letter":"w","data":["我"]},{"letter":"x","data":["县","选"]},{"letter":"y","data":["呀","已"]}]
④ JS按照开头首字母排序
functionstringSort(str){
if(typeofstr==='string')
str=str.split(',');
if(!Array.isArray(str)){
console.error('参数复类型错制误,必须为数组或以(,)分割的字符串.')
returnstr;
}
str.sort();
returnstr.join();
}
//测试
vartest1=["BB000","AB621","C752B","AC700","D5657"];
console.log(stringSort(test1));
vartest2="BB000,AB621,C752B,AC700,D5657";
console.log(stringSort(test2));
⑤ JS中数组如何重新排序
数组排序,你可以直接调用javascript原生自带的sort()方法,比如下面的例子:
//Array.prototype.sort()//原生自带的数组的排序方法;
varfruit=['apples','bananas','Cherries'];//定义一个数组
fruit.sort();//['Cherries','apples','bananas'];//按字母排序的结果
varscores=[1,2,10,21];//定义一个数字排序,你发现其实还是按照字母序排列的
scores.sort();//[1,10,2,21]
如果希望按照期望的数字排序。
scores.sort(function(a,b){returna-b});//这样的就可以了。结果为:211021
varthings=['word','Word','1Word','2Words'];
things.sort();//['1Word','2Words','Word','word']
//InUnicode,,
//.
⑥ javascript中数组的sort()方法不指定参数的排序规则是怎样的
sort() 方法用于对数组的元素进行排序。
语法: arrayObject.sort(sortby)
参数:sortby 可选。规定排序顺序。必须是函数。
说明:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
* 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
* 若 a 等于 b,则返回 0。
* 若 a 大于 b,则返回一个大于 0 的值。
⑦ javascript 对数组从小到大进行排序怎么做
1.如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较如果想按照其他标准进行排序,就需要提供比较函数CodeGo.net,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b,其返回值
•若a小于b,在排序后的数组中a应该出现在b之前,则返回一个小于0的值•若a等于b,则返回0•若a大于b,则返回一个大于0的值<scripttype="text/javascript">
functionsortNumber(a,b)
{
returna-b
}
vararr=newArray(6)
arr[0]="10"
arr[1]="5"
arr[2]="40"
arr[3]="25"
arr[4]="1000"
arr[5]="1"
document.write(arr+"<br/>");
document.write(arr.sort(sortNumber));
</script>
⑧ js怎么用sort把数组里面的英文进行首字母排序,如图,搞不懂这一行代码,小白,求大佬。
harCodeAt(0) 方法返回字符串第一个字符的 Unicode 编码。
sort()方法传入的是一个函数,函内数有两个参数容(pre,next)(参数名可以任意),依次传入数组中的两个元素,如果返回值小于0,则排序后pre排在next前面,
⑨ JS之JQ的map/rece/filter/sort/reverse
map 是遍历数组,并返回一个新数组.
rece 是遍历数组,把所有元素组合到一起:
filter 是遍历数组,根据条件筛选 得出一个新数组
与我们之前用的数组方法仅仅返回一个新数组不同, sort 方法将改变原数组,返回被排序后的数组。
默认 :按字母顺序或数字顺序对数组中的元素进行排序。
sort 可以把比较函数作为参数传入。比较函数有返回值,当 a 小于 b,返回一个负数;当 a 大于 b ,返回一个正数;相等时返回0。
如果没有传入比较函数,它将把值全部转成字符串,并按照字母顺序进行排序。
下面的例子将展示 sort 的使用,传入的比较函数把元素按照从小到大的顺序进行排列:
reverse 对数组进行反转,对元素组操作,返回反转后的数组。
concat 方法可以用来把两个数组的内容合并到一个数组中。
concat 方法的参数应该是一个数组。参喊物数中的数组会拼接在原数组的后面,并作为一个新数组返回。
下面是一个拼接数明渗岩组的例子,用concat 把激御 otherArray 拼接在 oldArray 的后面:
⑩ js 怎么把字符串组 按顺序a-z,A-Z,0-9,的顺序排列
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""
">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gbk">
<title>UntitledDocument</title>
<script>
window.onload=function(){
vara="1我来a2你b3他d";//要排序的字符串a
varb=a.split("");//分割源字符串a为数组b
b.sort();//数组b升序排序(系统自带的方法)
varc=b.join("");//把数组b每个元素连接成字符串c
alert(c);//输出最终排序好的字符串
}
</script>
</head>
<body>
</body>
</html>
整个过程注释写得很清楚了,希望对你有帮助