例えばある変数の値が3のときは
Javascript
1for(-略-){ 2 for(-略-){ 3 for(-略-){ 4 } 5 } 6}
4のときは
Javascript
1for(-略-){ 2 for(-略-){ 3 for(-略-){ 4 for(-略-){ 5 ~処理内容~ 6 } 7 } 8 } 9}
といった感じで、可変する数に応じて重複してループする回数を変える方法はないでしょうか。
phpのfor文で強引にJavascriptのfor文を書くことで実現できました。
php
1for(-略-){ 2 echo "for(var i=0){"; 3} 4~処理内容~ 5for(-略-){ 6 echo "}"; 7}
できればブラウザ上で変化する値に応じて処理を変えたいので、Javascriptだけで記述したいです。
上手く伝わっているかわかりませんが、ご助力よろしくお願いします。
――追記――
配列の中の数値を2つ以上足した数値をすべて取り出したいです。
そしてこの配列の中の数値や個数が変化する前提で記述したいです。
Javascript
1 2var money = [500,100,100,50,10,5]; 3var pattern = []; 4 5for(i=0; i<money.length-1; i++){ 6 7 for(j=i+1; j<money.length; j++){ 8 sum = 0; 9 sum += money[i]; 10 sum += money[j]; 11 if(!pattern.includes(sum)){ 12 pattern.push(sum); 13 } 14 15 for(k=j+1; k<money.length; k++){ 16 sum = 0; 17 sum += money[i]; 18 sum += money[j]; 19 sum += money[k]; 20 if(!pattern.includes(sum)){ 21 pattern.push(sum); 22 } 23 24 for(l=k+1; l<money.length; l++){ 25 sum = 0; 26 sum += money[i]; 27 sum += money[j]; 28 sum += money[k]; 29 sum += money[l]; 30 if(!pattern.includes(sum)){ 31 pattern.push(sum); 32 } 33 34 for(m=l+1; m<money.length; m++){ 35 sum = 0; 36 sum += money[i]; 37 sum += money[j]; 38 sum += money[k]; 39 sum += money[l]; 40 sum += money[m]; 41 if(!pattern.includes(sum)){ 42 pattern.push(sum); 43 } 44 45 for(n=m+1; n<money.length; n++){ 46 sum = 0; 47 sum += money[i]; 48 sum += money[j]; 49 sum += money[k]; 50 sum += money[l]; 51 sum += money[m]; 52 sum += money[n]; 53 if(!pattern.includes(sum)){ 54 pattern.push(sum); 55 } 56 57 for(o=n+1; o<money.length; o++){ 58 sum = 0; 59 sum += money[i]; 60 sum += money[j]; 61 sum += money[k]; 62 sum += money[l]; 63 sum += money[m]; 64 sum += money[n]; 65 sum += money[o]; 66 if(!pattern.includes(sum)){ 67 pattern.push(sum); 68 } 69 } 70 } 71 } 72 } 73 } 74 } 75}
回答2件
あなたの回答
tips
プレビュー