第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用兩種排序條件對 JavaScript 中的對象數(shù)組進(jìn)行排序

使用兩種排序條件對 JavaScript 中的對象數(shù)組進(jìn)行排序

侃侃無極 2023-07-29 16:03:39
我的對象數(shù)組如下。let obj=[{  id:1,  pinnedBy:"abc",  value:9},{  id:2,  pinnedBy:null,  value:10},{  id:3,  pinnedBy:"abc",  value:11},{  id:4,  pinnedBy:null,  value:12},];我的排序條件是pinnedBy 具有值 NOT null 的項(xiàng)目應(yīng)位于頂部,并且應(yīng)按值降序排序。所有其他項(xiàng)目應(yīng)位于 pinnedBy 項(xiàng)目下方,并且應(yīng)按值降序排序。應(yīng)用排序后結(jié)果將是obj=[{  id:3,  pinnedBy:"abc",  value:11},{  id:1,  pinnedBy:"abc",  value:9},{  id:4,  pinnedBy:null,  value:12},{  id:2,  pinnedBy:null,  value:10}];我怎樣才能實(shí)現(xiàn)這個目標(biāo)?
查看完整描述

1 回答

?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個贊

您可以按布爾值的增量排序,然后按value屬性排序。


let array = [{ id: 1, pinnedBy: "abc", value: 9}, { id: 2, pinnedBy: null, value: 10 }, { id: 3, pinnedBy: "abc", value: 11 }, { id: 4, pinnedBy: null, value: 12 }];


array.sort((a, b) =>

    (a.pinnedBy === null) - (b.pinnedBy === null) ||

    b.value - a.value

);


console.log(array);

.as-console-wrapper { max-height: 100% !important; top: 0; }


查看完整回答
反對 回復(fù) 2023-07-29
  • 1 回答
  • 0 關(guān)注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號