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

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

具有最大總和限制的組或塊數(shù)組

具有最大總和限制的組或塊數(shù)組

ITMISS 2023-08-10 15:24:18
我有一個(gè)像這樣的數(shù)組const array = [{id: 1, size: 1}, {id: 2, size: 2}, {id: 3, size: 4}, {id: 4, size: 1}, {id: 5, size: 2}, {id: 6, size: 3}, ...]我想使用大小屬性的最大總和對(duì)該數(shù)組進(jìn)行分組或分塊(每個(gè)索引的總大小不能大于4),所以新數(shù)組應(yīng)該是這樣的:  const newArray = [    [{id:1, size: 1}, {id:2, size: 2}, {id:4, size: 1}],    [{id:3, size: 4}],    [{id:5, size: 3}],    [{id:6, size: 4}],    ...  ]
查看完整描述

2 回答

?
四季花海

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

您可以通過查看每個(gè)槽的總和來找到下一個(gè)槽。


let array = [{ id: 1, size: 1 }, { id: 2, size: 2 }, { id: 3, size: 4 }, { id: 4, size: 1 }, { id: 5, size: 2 }, { id: 6, size: 3 }],

    sum = 4,

    result = array.reduce((r, o) => {

        const temp = r.find(a => a.reduce((s, { size }) => s + size, 0) + o.size <= sum);

        if (temp) temp.push(o);

        else r.push([o]);

        return r;

    }, []);


console.log(result);

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


查看完整回答
反對(duì) 回復(fù) 2023-08-10
?
慕森卡

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

我的方式...


const array = 

      [ { id: 1, size: 1 } 

      , { id: 2, size: 2 } 

      , { id: 3, size: 4 } 

      , { id: 4, size: 1 } 

      , { id: 5, size: 2 } 

      , { id: 6, size: 3 } 

    //  , ...

      ]

  , szMax  = array.reduce((t,c)=>Math.max(t,c.size),0)

  , temp   = array.map(e=>({...e}))

  , result = []

  ;

while (temp.length > 0)

  {

  let sz = szMax

    , nv = []

    ;

  while( sz > 0 )

    {

    let idx = temp.findIndex(x=>x.size <= sz)

    if (idx===-1) break

    nv.push( temp[idx] )

    sz -= temp[idx].size

    temp.splice(idx,1)

    }

  result.push([...nv])

  nv = []

  }


console.log( result )

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


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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