跳至主要內容

08.编码顺序和字典顺序

pinia小于 1 分钟

API

  • sort()
    • 参数:a-b < 0:正序,a-b > 0:逆序
    • 返回值:经过排序的原始数组的引用。注意数组是就地open in new window排序的,不会进行复制。
  • localeCompare()
    • 语法:a.localeCompare('b')
    • 参数:a>b:返回值是1,a<b:返回值是-1,a=b:返回值是0

警告: 切勿依赖于 -1或 1这样特定的返回值。

不同浏览器之间(以及不同浏览器版本之间)返回的正负数的值各有不同,因为 W3C 规范中只要求返回值是正值和负值,而没有规定具体的值。一些浏览器可能返回 -2 或 2 或一些其他的负、正值。

排序
<div class="names"></div>
<div class="coding"></div>
<div class="dictionary"></div>
const demo ={
        names:document.querySelector('.names'),
        coding:document.querySelector('.coding'),
        dictionary:document.querySelector('.dictionary')
    }
    const names = ['郭', '岳', '孙', '曹', '刘'];
    demo.names.innerHTML =`原始顺序:${names}`
    let coding = [...names]
    let dictionary = [...names]
    //编码顺序
    demo.coding.innerHTML =`编码排序:${coding.sort()}`
    const r1 = '刘'.charCodeAt(0)//21016
    const r2 = '曹'.charCodeAt(0)//26361
    //字典顺序
    const r3 = '刘'.localeCompare('曹')//1
    demo.dictionary.innerHTML = `字典排序:${dictionary.sort((a, b) => a.localeCompare(b))}`
上次编辑于:
贡献者: 林深不见鹿