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

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

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

js對(duì)json數(shù)組進(jìn)行排序

廢話(huà)不多說(shuō),直接上代碼

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

// sort 會(huì)直接對(duì)原數(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ù)組多個(gè)字段排序

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ù)組對(duì)象中的某個(gè)屬性值進(jìn)行排序的方法?
? * 使用例子:newArray.sort(sortByArr(['matno'],true)) //表示根據(jù)matno屬性降序排列;若第二個(gè)參數(shù)不傳遞,默認(rèn)表示升序排序
? * @param attr 排序的屬性 ['matno','salebillno'...],根據(jù)一個(gè)字段或者多個(gè)字段排序
? * @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'}]

總結(jié)

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

相關(guān)文章

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

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

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

    javascript中[]和{}對(duì)象使用介紹

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

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

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

    詳解Bootstrap插件

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

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

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

    一些實(shí)用性較高的js方法

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

    使用原生js寫(xiě)ajax實(shí)例(推薦)

    下面小編就為大家?guī)?lái)一篇使用原生js寫(xiě)ajax實(shí)例(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • JAVASCRIPT下判斷IE與FF的比較簡(jiǎn)單的方式

    JAVASCRIPT下判斷IE與FF的比較簡(jiǎn)單的方式

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

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

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

    js Li來(lái)實(shí)現(xiàn)的效果

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

最新評(píng)論

台州市| 昌宁县| 武隆县| 眉山市| 资兴市| 尤溪县| 长治市| 隆子县| 潍坊市| 久治县| 邵阳县| 东港市| 五华县| 承德县| 林周县| 广德县| 临高县| 乐亭县| 皋兰县| 沐川县| 增城市| 桃源县| 石城县| 鸡西市| 沁水县| 边坝县| 新巴尔虎左旗| 象山县| 西平县| 大关县| 岳阳市| 开封县| 霍州市| 威信县| 长乐市| 萨嘎县| 池州市| 旬邑县| 平南县| 宜春市| 汶川县|