簡體   English   中英

查找數組Javascript中向上和向下舍入的所有浮點值的組合

[英]Find combination of all float values rounded up and down in an array Javascript

所以我在這里有一個邏輯問題,我無法解決它。 所以基本上我需要找到數組中存在的所有浮點數的組合,向上和向下取整。

例如,我有這個數組 [2.5,1.3]。 所以我需要的組合是 [3,2][3,1][2,2][2,1] (所以在第一個數組中,兩個值都被四舍五入,在第二個,第一個值被四舍五入並且第二個向下舍入,在第三個中,第一個值向下舍入,第二個值向上舍入,在第四個中,兩者都向下舍入)。

再舉一個例子,假設我有 [4.5,1.7,3.4] 所以結果應該是: [4,2,4][4,1,4][4,1,3][5,1,3][5 ,1,4][5,2,4][5,2,3] 等等,

我必須為 n 個元素執行此操作,任何幫助將不勝感激。

你可以得到一個帶有向上和向下舍入值的數組,並得到它的笛卡爾積。

 const getCeilFloor = array => array.map(v => ['ceil', 'floor'].map(k => Math[k](v))), getCartesian = array => array.reduce((a, b) => a.reduce((r, v) => r.concat(b.map(w => [].concat(v, w))), [])); getCartesian(getCeilFloor([2.5, 1.3])).forEach(a => console.log(...a)); getCartesian(getCeilFloor([4.5, 1.7, 3.4])).forEach(a => console.log(...a));
 .as-console-wrapper { max-height: 100% !important; top: 0; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM