亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Array.sort排序問題

Yi_Zhi_Yu / 1639人閱讀

摘要:比較函數(shù)應(yīng)該具有兩個參數(shù)和,其返回值如下若小于,在排序后的數(shù)組中應(yīng)該出現(xiàn)在之前,則返回一個小于的值。總結(jié)下升序排列,返回值可以簡寫為降序排序,返回值可以簡寫為

遇到一個奇葩問題,數(shù)組排序在chrome瀏覽器下沒有問題,而在IE下不生效。查了下資料,原來是寫法有誤。

原來寫法:

var arr = [300, 20, 10, 1, 2];
arr.sort(function(a, b){
    return a > b;
});

期望返回值是[300, 20, 10, 2, 1](chrome下),結(jié)果是[300, 20, 10, 1, 2](IE下)

比較函數(shù)的返回值應(yīng)該是數(shù)字(正數(shù)降序,負(fù)數(shù)升序,0不動),而我寫成了bool,導(dǎo)致排序失敗。chrome下可能做過兼容處理。

最蛋疼的是,在我寫這篇文章時,新版本chrome恢復(fù)了,與IE效果成了一樣的,而本地nodejs運(yùn)行的版本(v10.0.0)仍是舊的。

比較函數(shù)如果不傳,則默認(rèn)按照字符編碼的順序升序排列。

如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個參數(shù) a 和 b,其返回值如下:

若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個小于 0 的值。

若 a 等于 b,則返回 0。

若 a 大于 b,則返回一個大于 0 的值。

經(jīng)過測試

比較函數(shù)的返回結(jié)果如果不是數(shù)字(Boolean或者NaN或者String或者Object),都不會排序。

總結(jié)下:

升序排列,返回值可以簡寫為:a-b

降序排序,返回值可以簡寫為:b-a

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/101473.html

相關(guān)文章

  • php 二維數(shù)組排序

    摘要:前提給定一個二維數(shù)組,請根據(jù)指定的數(shù)組寫出最優(yōu)的排序。排序條件,指定數(shù)組如下估計大家都沒有什么問題,排序嘛,簡單的不要不要的方式一這應(yīng)該是最簡單的方式了,直接使用現(xiàn)成的函數(shù),快捷的不要不要的。 前提 給定一個二維數(shù)組,請根據(jù)指定的數(shù)組key,寫出最優(yōu)的排序。排序條件age asc,sex desc,指定數(shù)組如下: $arr = [ [id=>1, age=>1,...

    ashe 評論0 收藏0
  • 數(shù)組排序函數(shù)-php數(shù)組函數(shù)(一)

    摘要:下列的所有排序函數(shù)都是直接作用于數(shù)組本身,而不是返回一個新的有序的數(shù)組。倒序并保持索引關(guān)系,按鍵名排序按鍵名倒序使用用戶自定義的比較函數(shù)對數(shù)組中的值進(jìn)行排序,要排序的數(shù)組需要用一種不尋常的標(biāo)準(zhǔn)進(jìn)行排序,那么應(yīng)該使用此函數(shù)。 數(shù)組排序,共13個 函數(shù)中有u的,能自定義比較函數(shù);有k的,按照鍵來排序;有r(reverse)的,倒序;有a(association)的,一定是鍵值關(guān)聯(lián),除了r...

    call_me_R 評論0 收藏0
  • [筆記] 深入理解 JavaScript Array.sort()

    摘要:以上涉及到一個字符的轉(zhuǎn)換問題,這里不多擴(kuò)展,寫一段代碼運(yùn)行過程做筆記中國代表字符中的第一位,是只有長度的字符輸出字符長度為不確定時放入一個數(shù)組中。第一次運(yùn)行后,返回值為,小于,所以的索引值未變化,。 Array.sort() 方法排序,默認(rèn)為升序排序,如 1,2,3,4 這樣的排列,可以傳一個對比方法做為排序的參數(shù),也可以不傳,則為按照字符的逐個 unicode 排序。 簡單默認(rèn)排序 ...

    QLQ 評論0 收藏0
  • 模擬JavaScript的Array.sort()方法

    摘要:下面重新改寫上面的冒泡排序,傳遞一個回調(diào)函數(shù)。模擬注意第行和第行,給傳遞了一個參數(shù),這是一個函數(shù),然后在第行調(diào)用,和分別就是回調(diào)函數(shù)的兩個比較值。 在JavaScript中,Array對象的sort()方法是用來排序的,但是這個方法在默認(rèn)情況下可能不是我們想要的,比如對于如下數(shù)組 var arr = [2,5,10,20,7,15]; 使用sort排序會得到如下結(jié)果:[10, 15, ...

    liuyix 評論0 收藏0
  • PHP數(shù)組多個字段分別排序

    摘要:數(shù)組按其中一個字段排序數(shù)組個字段排序,先按第一個字段排序,再按第二個字段排序擴(kuò)展方法最多支持對數(shù)組個字段排序,當(dāng)然可以擴(kuò)充的自定義方法重載實現(xiàn)對多維數(shù)字的排序。 1. PHP數(shù)組Array按其中一個字段排序 /** * Sort array by filed and type, common utility method. * @param array $data * @param s...

    liujs 評論0 收藏0
  • [討論]php 排序系列的函數(shù)內(nèi)部的C實現(xiàn)是用了哪種排序算法?

    摘要:在算法中,比快速排序還快的,無疑是基數(shù)排序,粗略看了一下算法,可能是基礎(chǔ)排序中的桶排序。桶排序是穩(wěn)定的桶排序是常見排序里最快的一種,比快排還要快大多數(shù)情況下桶排序非???,但是同時也非常耗空間以空間換時間 ext/standard/php_array.h https://github.com/php/php-src/blob/master/ext/standard/php_array....

    chanthuang 評論0 收藏0

發(fā)表評論

0條評論

Yi_Zhi_Yu

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<