① 我想問一下為什麼在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>
整個過程注釋寫得很清楚了,希望對你有幫助