91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript如何對多維數組多鍵值進行排序

發布時間:2022-05-06 16:24:37 來源:億速云 閱讀:522 作者:iii 欄目:大數據

這篇文章主要講解了“JavaScript如何對多維數組多鍵值進行排序”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“JavaScript如何對多維數組多鍵值進行排序”吧!

JavaScript實現多維數組多鍵值排序方法

JavaScript的數組排序函數sort方法,默認是按照ASCII字符順序進行升序排列。

arrayobj.sort(sortfunction);

參數:sortFunction

可選項。是用來確定元素順序的函數的名稱。如果這個參數被省略,那么元素將按照ASCII字符順序進行升序排列。

sort方法將Array對象進行適當的排序;在執行過程中并不會創建新的Array對象。

如果為sortfunction參數提供了一個函數,那么該函數必須返回下列值之一:

負值,如果所傳遞的***個參數比第二個參數小。

零,如果兩個參數相等。

正值,如果***個參數比第二個參數大。

以上的方法在一維的排序還是很方便的,但像SQL語句中的ORDERBY一樣的多鍵值排序由怎么做呢?

多維數組的多鍵值排序,則需要復雜一些,但不需要用循環解決。實際解決的道理是一樣的。

數字:

以下的例子是將數字的多維數組按照第5列,第9列,第3列的順序排序,像SQL語句中的ORDERBYcol5,col9,col7。數字的時候可以直接兩個項目相減,以結果作為返回值即可。

<scriptlanguagescriptlanguage=javascript> varmyArray=newArray();  for(vari=0;i<10;i++)...{  myArray[i]=newArray();  myArray[i][0]=Math.floor(Math.random()*10);  myArray[i][1]=Math.floor(Math.random()*10);  myArray[i][2]=Math.floor(Math.random()*10);  myArray[i][3]=Math.floor(Math.random()*10);  myArray[i][4]=Math.floor(Math.random()*10);  myArray[i][5]=Math.floor(Math.random()*10);  myArray[i][6]=Math.floor(Math.random()*10);  myArray[i][7]=Math.floor(Math.random()*10);  myArray[i][8]=Math.floor(Math.random()*10);  }    myArray.sort(function(x,y)...{  return(x[0]==y[0])?((x[4]==y[4])?(x[8]-y[8]):(x[4]-y[4])):(x[2]-y[2])  });  for(vari=0;i<myArray.length;i++)...{  document.write(myArray[i].join(",")+"<br/>");  }  </script>

字符:

字符的時候sortFunction中的項目不能像數字一樣直接相減,需要調用

str1.localeCompare(str2)方法來作比較,從而滿足返回值。以下是多維數組的第1,2列作排序的情況。

functionsortFunction(array)...{  returnarray.sort(function(x,y)...{  return(x[0]==y[0])?(x[1].localeCompare(y[1])):(x[0].localeCompare(y[0]))  });  }

因此arrayObject.sort(sortFunction)的排序功能還是很強大的,終于能夠實現了SQL語句中的ORDERBY一樣的功能。

感謝各位的閱讀,以上就是“JavaScript如何對多維數組多鍵值進行排序”的內容了,經過本文的學習后,相信大家對JavaScript如何對多維數組多鍵值進行排序這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳谷县| 八宿县| 湘乡市| 东乌珠穆沁旗| 大方县| 千阳县| 太白县| 海晏县| 蓬安县| 新乡市| 车险| 东至县| 漠河县| 三门县| 红原县| 兴义市| 凌源市| 湛江市| 长顺县| 绥化市| 娱乐| 获嘉县| 广安市| 门源| 洛南县| 当涂县| 肇州县| 阳城县| 内丘县| 吴堡县| 大悟县| 如东县| 青铜峡市| 小金县| 佳木斯市| 双鸭山市| 玛沁县| 巴林左旗| 黄大仙区| 新安县| 四子王旗|