首頁 web前端 js教程 JavaScript學習筆記(3)數組排序以及在漢字排序中localeCompare()方法的使用

JavaScript學習筆記(3)數組排序以及在漢字排序中localeCompare()方法的使用

Dec 19, 2016 pm 05:32 PM

說到表格排序,首先要說的就一定是陣列的排序,因為陣列排序是表格排序的基礎。 javaScript為數組提供了sort()方法用於表格排序,預設情況下該方法會使Array中的數組按照ASCII碼的順序進行排列,Javascript也為數組提供了數組倒序的方法reverse()。
  來看範例:
1         function sortArray(){
2                arrayTest.sort();
4             alert(arrayTest.toString ());     //output:2,3,32,5,a,z
5             arrayTest.reverse();🠜6 a,5,32, 3,2
7         }
8         sortArray();   }
8         sortArray();   }
8         sortArray();   },5比32還要大,很明顯這不是我們想要的結果,剛才已經說過sort() 呵呵,5比32還要大,很明顯這不是我們想要的結果,剛才已經說過sort() 順序是按照ASC碼的順序排序的順序。其實sort()方法還允許帶一個函數類型的的參數,我們可以稱之為比較函數,當該比較函數又可以接收兩個參數,以下該函數返回值的意義:
  -1:第一個參數小於第二個參數
   0:第一個參數等於第二個參數
   1:第一個參數大於第二個參數
看一個例子:
 1        ,param2){
10             //若兩個參數皆為字串型別
11                        return param1.localeCompare(param2);
13 }
14             //若參數1為數字,且參數2為字串
15                       return -1;
17             }
18         若參數1為字串,參數2為數字
19             if(typeof param1 == "string" && typeof param2 == "number"){             }
22             //若兩個參數皆為數位
23             if(typeof param1 == "number" && typeof param2 == "number"){
24   25                 if(param1 == param2) return 0;
26           27             }
28         }   當我們在執行arrayTest.sort(compareFunc)時我們獲得了正確的結果。
到這裡,我們必須說明localeCompare()方法的用法,該方法是將字串進行排序的方法,只有一個參數就是要比較的字串。具體說明如下:
   1、如果String物件依照字母順序排在參數中的字串之前,傳回負數
   2、如果String物件依照字元順序排在參數中的字串之後,則傳回正數
   3、如果String物件等於參數中的字串回傳0
   除此之外,localeCompare()方法還有一個獨特之處,這個獨特之處可以在其方法簽名locale(現場、當地)上得以體現,也就是說他的實現時按照區域特性來的,如果在英語體系中,他的實現可能是按照字符串升序,如果在漢語中,他的實現則是按照首字母的拼音。呵呵,這也就是說就算我們在程式中涉及漢字,我們的排序也不回出錯。
   參考以下程序:
1         var testArray = ["鄭","州","信","源","信","息","技術","術","股","份" ,"有","限","公","司" ];
2         document.write(testArray.sort(
3                  return param1.localeCompare(param2);  // output:份,公,股,技,術,司,息,限,信,信,有,源,鄭,州 
5             }
6           }
6   )方法的使用的內容,更多相關內容請關注PHP中文網(www.php.cn)!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1653
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1251
29
C# 教程
1224
24
PHP 中保留鍵名的快速數組排序方法 PHP 中保留鍵名的快速數組排序方法 May 02, 2024 pm 03:06 PM

PHP中保留鍵名的快速數組排序方法:使用kso​​rt()函數對鍵進行排序。使用uasort()函數使用使用者定義的比較函數進行排序。實戰案例:若要依分數對使用者ID和分數的陣列進行排序,同時保留使用者ID,可以使用uasort()函數和自訂比較函數。

JS數組排序:sort()方法的工作原理和機制深入解析 JS數組排序:sort()方法的工作原理和機制深入解析 Dec 28, 2023 am 11:47 AM

深入理解JS數組排序:sort()方法的原理與機制,需要具體程式碼範例導語:陣列排序是在我們日常的前端開發工作中非常常見的操作之一。 JavaScript中的陣列排序方法sort()是我們最常使用的陣列排序方法之一。但是,你是否真正了解sort()方法的原理與機制呢?本文將帶你深入理解JS數組排序的原理和機制,並提供具體的程式碼範例。一、sort()方法的基本用法

PHP 數組自訂排序演算法的編寫指南 PHP 數組自訂排序演算法的編寫指南 Apr 27, 2024 pm 06:12 PM

如何寫自訂PHP數組排序演算法?冒泡排序:透過比較和交換相鄰元素來排序數組。選擇排序:每次選擇最小或最大元素並與目前位置交換。插入排序:逐一插入元素到有序部分。

PHP 陣列依數值排序後如何保持鍵名? PHP 陣列依數值排序後如何保持鍵名? May 02, 2024 pm 04:09 PM

在PHP中按值排序數組,同時保留鍵名的方法是:使用usort()函數按值排序數組。向usort()函數傳遞一個匿名函數作為比較函數,該函數傳回元素值的差異。 usort()會根據匿名函數對陣列進行排序,同時保持鍵名不變。

PHP 中按自訂排序規則對陣列進行排序,保留原始鍵名 PHP 中按自訂排序規則對陣列進行排序,保留原始鍵名 May 04, 2024 am 09:27 AM

在PHP中,使用uasort()函數可依自訂排序規則對陣列進行排序,同時保留原始鍵名。自訂比較函數是一個接受兩個元素作為輸入並傳回整數的函數:負數表示前者小於後者,零表示相等,正數表示前者大於後者。

PHP中的asort()函數會將陣列依值排序 PHP中的asort()函數會將陣列依值排序 Nov 18, 2023 am 10:56 AM

PHP中的asort()函數會將陣列依值排序,需要具體程式碼範例PHP是一種廣泛使用的伺服器端腳本語言,它具有豐富的陣列處理函數。其中,asort()函數是一個非常有用的函數,它可以依照陣列的值進行排序。本文將詳細介紹asort()函數的使用方法,並給出具體的程式碼範例。 asort()函數的作用是將陣列依照值升序排列,同時保持鍵和值的關聯。它是透過修改原數

使用PHP函數 'sort' 對陣列依升序進行排序 使用PHP函數 'sort' 對陣列依升序進行排序 Jul 25, 2023 am 09:28 AM

使用PHP函數"sort"將陣列依升序排序在PHP中,可以很方便地使用內建函數來對陣列進行排序。其中,sort函數是最常用的函數之一,可以將陣列依照升序進行排序。本文將介紹如何使用sort函數,並給出對應的程式碼範例。 sort函數的語法如下:sort(array&$array,int$sort_flags=SORT_REGULAR):boo

PHP陣列多維排序的妙招:最佳化排序效率 PHP陣列多維排序的妙招:最佳化排序效率 Apr 30, 2024 am 09:54 AM

優化PHP中多維數組排序的技巧:建立使用者自訂函數進行排序使用array_multisort()函數應用多維鍵重排序實戰案例:按數組鍵值對產品排序

See all articles