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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在Javascript中根據(jù)內(nèi)部數(shù)組對(duì)外部對(duì)象進(jìn)行排序

在Javascript中根據(jù)內(nèi)部數(shù)組對(duì)外部對(duì)象進(jìn)行排序

繁星coding 2023-12-14 16:05:23
我需要根據(jù) API 響應(yīng)中的對(duì)象數(shù)組來(lái)渲染卡片,如下所示(簡(jiǎn)化版):[{    name: 'John',    vouchers: [        {            voucherId: 1,            issuedAt: '2020-12-15T16:26:36.3548091+01:00'        },        {            voucherId: 2,            issuedAt: '2020-12-15T16:26:36.3548091+01:00'        },    ]},{    name: 'Lisa',    vouchers: [        {            voucherId: 1,            issuedAt: '2020-12-13T16:26:36.3548091+01:00'        }    ]}]現(xiàn)在我想對(duì)這個(gè)對(duì)象數(shù)組(其中包含一個(gè)對(duì)象數(shù)組)進(jìn)行 NgFor 并根據(jù)“issuedAt”日期進(jìn)行排序(外部對(duì)象)。注意:每個(gè)用戶的優(yōu)惠券數(shù)組的 IssuedAt 日期始終相同。我正在考慮使用 .map => .sort => Number(new Date(DATE_HERE)) 的某種組合,但無(wú)法讓它工作
查看完整描述

3 回答

?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

使用 Date.parse() 從日期字符串中獲取毫秒


let data = [{

    name: 'John',

    vouchers: [{

        voucherId: 1,

        issuedAt: '2020-12-15T16:26:36.3548091+01:00',

      },

      {

        voucherId: 2,

        issuedAt: '2020-12-15T16:26:36.3548091+01:00',

      },

    ],

  },

  {

    name: 'Lisa',

    vouchers: [{

      voucherId: 1,

      issuedAt: '2020-12-13T16:26:36.3548091+01:00',

    }, ],

  },

];


data.sort(function(a, b) {

  return (

    Date.parse(a['vouchers'][0]['issuedAt']) -

    Date.parse(b['vouchers'][0]['issuedAt'])

  );

});


console.log(data)


查看完整回答
反對(duì) 回復(fù) 2023-12-14
?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

鑒于憑證數(shù)組都具有相同的issuedAt屬性,您應(yīng)該能夠僅使用第一個(gè)條目來(lái)執(zhí)行此操作:


const data = [{name: 'John', vouchers: [{voucherId: 1, issuedAt: '2020-12-15T16:26:36.3548091+01:00'}, {voucherId: 2, issuedAt: '2020-12-15T16:26:36.3548091+01:00'}]}, {name: 'Lisa', vouchers: [{voucherId: 1, issuedAt: '2020-12-13T16:26:36.3548091+01:00'}]}]


const sorter = ({vouchers: [{issuedAt: x}]}, {vouchers: [{issuedAt: y}]}) => 

  x < y ? -1 : x > y ? 1 : 0


console .log ([...data] .sort (sorter))


我們使用[...data]廉價(jià)的淺克??;我不想改變輸入數(shù)據(jù)。但data .sort (sorter)如果你真的想改變你的數(shù)組,你可以直接調(diào)用。


查看完整回答
反對(duì) 回復(fù) 2023-12-14
?
MYYA

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

如果您希望首先列出最近時(shí)間的人員,請(qǐng)獲取所有優(yōu)惠券的最大發(fā)放日期并減去它們。


注意:我更改了時(shí)間,以便排序真正起作用。


const result = [{

  name: 'John',

  vouchers: [{

    voucherId: 1,

    issuedAt: '2020-12-15T16:26:36.3548091+01:00'

  }, {

    voucherId: 2,

    issuedAt: '2020-12-15T17:26:36.3548091+01:00'

  }, ]

}, {

  name: 'John',

  vouchers: [{

    voucherId: 1,

    issuedAt: '2020-12-13T18:26:36.3548091+01:00'

  }]

}];


const sorted = result.sort(

  ({ vouchers: a = [] }, { vouchers: b = [] }) =>

    Math.max(...a.map(({ issuedAt: d = 0 }) => new Date(d))) - 

    Math.max(...b.map(({ issuedAt: d = 0 }) => new Date(d)))

);

  

console.log(sorted);

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


查看完整回答
反對(duì) 回復(fù) 2023-12-14
  • 3 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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