將數(shù)組進行排序,可以是普通數(shù)據(jù) 可以json數(shù)組

?function?sortArray(arr,?key,?isDesc?=?false)?{

????????????if?(!arr)?{

????????????????return?false;

????????????}

????????????let?isArray?=?arr?instanceof?Array;

????????????if?(!isArray)?{

????????????????return?false;

????????????}

????????????if?(arr.length?<=?1)?{

????????????????return?arr;

????????????}

????????????let?temp?=?JSON.parse(JSON.stringify(arr));

????????????if?(key)?{

????????????????return?temp.sort((a,?b)?=>?{

????????????????????if?(isDesc)?{

????????????????????????return?b[key]?-?a[key];

????????????????????}?else?{

????????????????????????return?a[key]?-?b[key];

????????????????????}

????????????????});

????????????}?else?{

????????????????return?temp.sort((a,?b)?=>?{

????????????????????if?(isDesc)?{

????????????????????????return?b?-?a;

????????????????????}?else?{

????????????????????????return?a?-?b;

????????????????????}

????????????????});

????????????}

? }

用途: 給數(shù)組排序

?參數(shù):arr, key, isDesc

? ? * arr 可以是普通數(shù)據(jù)? 可以json數(shù)組

? ? * key -> 有key就是json數(shù)組,沒有key就是普通數(shù)組排序

? ? * desc -> true:從大到小? false -> 從小到大(默認),

例子1:

?let?arr?=?[36,74,21,7,367,16,86,85,94,241];

sortArray(arr) // [7, 16, 21, 36, 74, 85, 86, 94, 241, 367 ]

sortArray(arr,'',true)? //?[367, 241, 94, 86, 85, 74, 36, 21, 16, 7]

例子2:

??let?jsonarr?=?[

????????????{name:'小明',age:19,score:29},

????????????{name:'花花',age:29,score:8},

????????????{name:'蘭蘭',age:45,score:12},

????????????{name:'妮妮',age:24,score:32},

????????????{name:'巴巴',age:32,score:65},

????????????{name:'艾艾',age:4,score:89},

????????????{name:'赫赫',age:25,score:38},

????????];

sortArray(jsonarr,'score')?


sortArray(jsonarr,'age')?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容