最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js中如何對json數(shù)組進行排序

 更新時間:2023年04月17日 10:11:14   作者:spring-java  
這篇文章主要介紹了js中如何對json數(shù)組進行排序的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

js對json數(shù)組進行排序

廢話不多說,直接上代碼

// 升序排列
function up(a, b) {
? ? ?return a.val-b.val
?},
?// 降序排列
function down(a, b) {
? ? return b.val-a.val
},

// sort 會直接對原數(shù)據(jù)排序
testJson.sort(up)

例如:

let test=[{"val":100},{"val":70},{"val":50},{"val":20},{"val":10}]
test=test.sort(up)

js根據(jù)json數(shù)組多個字段排序

let newArray = [
? ? ? {product: "1", matno: "420200011480006",salebillno:"xsdd2733-8", sales: "800"},
? ? ? {product: "2", matno: "420200011480007",salebillno:"xsdd2733-2", sales: "300"},
? ? ? {product: "3", matno: "420200011480006",salebillno:"xsdd2733-5", sales: "100"},
? ? ? {product: "4", matno: "420200011480006",salebillno:"xsdd2733-3", sales: "200"},
? ? ? {product: "5", matno: "420200011480008",salebillno:"xsdd2738", sales: "600"},
? ? ? {product: "6", matno: "420200011480010",salebillno:"xsdd2734", sales: "400"},
? ? ? {product: "7", matno: "420200011480009",salebillno:"xsdd2735", sales: "700"},
? ? ? {product: "8", matno: "420200011480001",salebillno:"xsdd2737", sales: "500"}
? ? ?]
?? ??
?
/**數(shù)組根據(jù)數(shù)組對象中的某個屬性值進行排序的方法?
? * 使用例子:newArray.sort(sortByArr(['matno'],true)) //表示根據(jù)matno屬性降序排列;若第二個參數(shù)不傳遞,默認表示升序排序
? * @param attr 排序的屬性 ['matno','salebillno'...],根據(jù)一個字段或者多個字段排序
? * @param rev true表示升序排列,false降序排序
? * */
?
function sortByArr(arr, rev) {
?if (rev == undefined) {
?rev = 1;
?} else {
?rev = (rev) ? 1 : -1;
?}
?return function(a, b) {
?for (var i = 0; i < arr.length; i++) {
?let attr = arr[i]
?if (a[attr] != b[attr]) {
?if (a[attr] > b[attr]) {
?return rev * 1;
?} else {
?return rev * -1;
?}
?}
?}
}
}
/**升序**/
?newArray.sort(sortByArr(['matno','salebillno'],true))
[{product: '8', matno: '420200011480001', salebillno: 'xsdd2737', sales: '500'}
?{product: '4', matno: '420200011480006', salebillno: 'xsdd2733-3', sales: '200'}
?{product: '3', matno: '420200011480006', salebillno: 'xsdd2733-5', sales: '100'}
?{product: '1', matno: '420200011480006', salebillno: 'xsdd2733-8', sales: '800'}
?{product: '2', matno: '420200011480007', salebillno: 'xsdd2733-2', sales: '300'}
?{product: '5', matno: '420200011480008', salebillno: 'xsdd2738', sales: '600'}
?{product: '7', matno: '420200011480009', salebillno: 'xsdd2735', sales: '700'}
?{product: '6', matno: '420200011480010', salebillno: 'xsdd2734', sales: '400'}]
/**降序**/
newArray.sort(sortByArr(['matno'],false))
// 輸出
[{product: '6', matno: '420200011480010', salebillno: 'xsdd2734', sales: '400'}
?{product: '7', matno: '420200011480009', salebillno: 'xsdd2735', sales: '700'}
?{product: '5', matno: '420200011480008', salebillno: 'xsdd2738', sales: '600'}
?{product: '2', matno: '420200011480007', salebillno: 'xsdd2733-2', sales: '300'}
?{product: '1', matno: '420200011480006', salebillno: 'xsdd2733-8', sales: '800'}
?{product: '3', matno: '420200011480006', salebillno: 'xsdd2733-5', sales: '100'}
?{product: '4', matno: '420200011480006', salebillno: 'xsdd2733-3', sales: '200'}
?{product: '8', matno: '420200011480001', salebillno: 'xsdd2737', sales: '500'}]

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • JS使用棧判斷給定字符串是否是回文算法示例

    JS使用棧判斷給定字符串是否是回文算法示例

    這篇文章主要介紹了JS使用棧判斷給定字符串是否是回文算法,涉及基于javascript棧的構造、遍歷、判斷等相關操作技巧,需要的朋友可以參考下
    2019-03-03
  • javascript中[]和{}對象使用介紹

    javascript中[]和{}對象使用介紹

    []不僅僅可以表示數(shù)組,可以直接通過對象的屬性設置值和訪問值,接下來為大家介紹下[]和{}對象的使用,感興趣的你可以參考下哈
    2013-03-03
  • JavaScript中的宏任務和微任務執(zhí)行順序

    JavaScript中的宏任務和微任務執(zhí)行順序

    在?JavaScript?中,宏任務和微任務是指在執(zhí)行代碼的過程中的兩種不同的任務類型,這篇文章主要介紹了JavaScript中的宏任務和微任務執(zhí)行順序,需要的朋友可以參考下
    2022-12-12
  • 詳解Bootstrap插件

    詳解Bootstrap插件

    這篇文章主要為大家針對Bootstrap插件的相關資料進行了詳細介紹,Bootstrap 自帶 12 種 jQuery 插件,擴展了功能,可以給站點添加更多的互動,感興趣的小伙伴們可以參考一下
    2016-04-04
  • ES6中的WeakMap和WeakSet特性和用途詳解

    ES6中的WeakMap和WeakSet特性和用途詳解

    在JavaScript的ES6版本中,引入了WeakMap和WeakSet這兩種新的數(shù)據(jù)結構,與Map和Set相比,它們有一些特殊的特點和用途,使它們在處理內(nèi)存泄漏問題、管理對象私有數(shù)據(jù)、處理對象的唯一性等場景中有顯著的優(yōu)勢,本文將深入探討WeakMap和WeakSet的特性和用途,一起看看吧
    2023-12-12
  • 一些實用性較高的js方法

    一些實用性較高的js方法

    這篇文章主要為大家分享了一些實用性較高的js方法,方便大家開發(fā)時使用,感興趣的小伙伴們可以參考一下
    2016-04-04
  • 使用原生js寫ajax實例(推薦)

    使用原生js寫ajax實例(推薦)

    下面小編就為大家?guī)硪黄褂迷鷍s寫ajax實例(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • JAVASCRIPT下判斷IE與FF的比較簡單的方式

    JAVASCRIPT下判斷IE與FF的比較簡單的方式

    在JAVASCRIPT當中可以通過取當前瀏覽器返回值來判斷當前使用什么瀏覽器。
    2008-10-10
  • webpack中Loader和Plugin的區(qū)別小結

    webpack中Loader和Plugin的區(qū)別小結

    本文主要介紹了webpack中Loader和Plugin的區(qū)別小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06
  • js Li來實現(xiàn)的效果

    js Li來實現(xiàn)的效果

    原理就是利用js控制li的一些樣式,在實際應用中,還需要注意li的list-style屬性。
    2008-12-12

最新評論

中江县| 都兰县| 习水县| 扎鲁特旗| 德庆县| 贵溪市| 清水县| 海安县| 周至县| 江油市| 千阳县| 怀仁县| 通榆县| 枣阳市| 中牟县| 桑植县| 老河口市| 贵南县| 河津市| 浮山县| 邯郸县| 石河子市| 邯郸市| 晋宁县| 白城市| 东乌| 丽水市| 南投县| 西盟| 兴安县| 淮北市| 闻喜县| 高要市| 石景山区| 澄江县| 五华县| 柳河县| 榆中县| 安宁市| 曲阳县| 沾化县|