2015-10-12 41 views
-3

在jQuery中,如何獲得數組中的所有可能的和?在jquery中,如何獲得數組中所有可能的和?

例如,如果我有一個這樣的數組:[2,3,8]

我會有這樣的結果:[2,3,5,8,10,11,13]

...對應於2 + 3,2 + 8,3 + 8,2 + 3 + 8,以及獨奏2,3,8。

謝謝。尼古拉斯。

+3

這不難研究或弄清楚......請出示你嘗試過什麼。我們不在這裏爲你做功課 – charlietfl

回答

0

嘗試Travis J's解決方案

JSFiddle

var x = [2, 3, 8]; 
var sums = []; 
var sets = []; 
function SubSets(read, queued) 
{ 
    if(read.length == 4 || (read.length <= 4 && queued.length == 0)) 
    { 
     if(read.length > 0){ 
     var total = read.reduce(function(a,b){return a+b;},0); 
     if(sums.indexOf(total)==-1){ 
     sums.push(total); 
     sets.push(read.slice().sort()); 
     } 
     } 
    } 
    else 
    { 
     SubSets(read.concat(queued[0]),queued.slice(1)); 
    SubSets(read,queued.slice(1)); 
    } 
} 
SubSets([],x); 
console.log(sums.sort(function(a,b){return a-b;})); 
+0

它不是「純粹的jquery」,但它的作用就像一個魅力!非常感謝。尼古拉斯。 –

+0

@NicolasBocquel沒問題!如果它對你有幫助,你可以點擊加票計數器下的複選標記嗎?謝謝。 – abagh0703

相關問題