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

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

無法對數(shù)組中的數(shù)據(jù)進行排序。排序不是一個函數(shù)

無法對數(shù)組中的數(shù)據(jù)進行排序。排序不是一個函數(shù)

慕哥9229398 2023-12-14 17:04:51
我正在嘗試對數(shù)組中的數(shù)據(jù)進行從小到大的排序。我收到錯誤:time.sort不是函數(shù),time.sort是undefined。這是我的代碼:{    this.state.measure.map((data, index) => {        let time = data.duration        const totalTime = time.sort((a, b) => parseFloat(a.time) - parseFloat(b.time))        console.log(totalTime)    })}                        如果我 console.log(time) 我收到 15:00, 12:00, 50:00, 15:10 這是我想要排序的數(shù)據(jù),但首先我需要使用 parseFloat() 轉(zhuǎn)換為數(shù)字,然后使用去訂吧,反正這不是問題??磥磉@sort()是我的代碼中的問題。這是我的 JSON。{  "measures": [    {      "_id": "5fb56d5e734b7e04b9c97c9d",      "creationDate": "18/11/2020",      "startTime": "10:00",      "duration": "15:00",      "voltage": "220V",      "avgPower": "34W",      "maxPower": "7200W",      "WaterConsumption": "30",      "avgTemperature": "42",      "maxTemperature": "48",      "shower": "5fb56ce7734b7e04b9c97c9b",      "__v": 0,      "id": "5fb56d5e734b7e04b9c97c9d"    },  ]}我有三個像這樣的物體,我只想將它們從小到大排序。我嘗試將代碼更改為{this.state.measure.map((data, index)=> {    let time = parseFloat(data.duration)    console.log(time)})}現(xiàn)在我收到 15, 12, 50, 17.1
查看完整描述

4 回答

?
互換的青春

TA貢獻1797條經(jīng)驗 獲得超6個贊

如果我沒記錯的話,那么你想要的是這樣的東西——


const data = {

  "measures": [

    {

      "_id": "5fbaaa",

      "duration": "15:00",

    },

    {

      "_id": "5fbbdd",

      "duration": "12:20",

    },

    {

      "_id": "5fbbbb",

      "duration": "12:00",

    },

    {

      "_id": "5fbccc",

      "duration": "25:30",

    },

  ]

};


const inMin = (duration) => {

  const [hour, min] = duration.split(':');

  return hour * 60 + min * 1;

}


data.measures.sort((a, b) => {

  return inMin(b.duration) - inMin(a.duration);

});


console.log(data);

在這里,我縮短了您的數(shù)據(jù)結(jié)構(gòu),并假定您的持續(xù)時間HH:mm格式,并將持續(xù)時間以分鐘為單位轉(zhuǎn)換并按順序排序desc。



查看完整回答
反對 回復(fù) 2023-12-14
?
幕布斯6054654

TA貢獻1876條經(jīng)驗 獲得超7個贊

好吧,聽起來你想對數(shù)組進行排序。為此,您應(yīng)該使用該Array.sort方法而不是Array.map.

下面的代碼將對比較duration值的數(shù)組進行排序。String.localeCompare是一個方便的函數(shù),因為它已經(jīng)為您轉(zhuǎn)換了日期。

this.state.measures.sort((a,b)?=>?a.duration.localeCompare(b.duration))


查看完整回答
反對 回復(fù) 2023-12-14
?
心有法竹

TA貢獻1866條經(jīng)驗 獲得超5個贊

您應(yīng)該measures對數(shù)組進行排序。


this.state.measure.sort((a,b)=>{

   const [m, s] = a.time.split(":").map(Number), [m2, s2] = b.time.split(":").map(Number);

   return m * 60 + s - (m2 * 60 + s2);

});


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

TA貢獻1869條經(jīng)驗 獲得超4個贊

因為時間格式是字符串,并且在使用 parseFloat 之前有 : 只需執(zhí)行 time.split(':').join('.')


this.state.measure.map((data, index) => {

        let time = data.duration

        const totalTime = time.sort((a, b) => parseFloat(a.time.split(':').join('.') )- parseFloat(b.time.split(':').join('.')))

        console.log(totalTime)

})


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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