2017-10-18 12 views
-2

JavaScriptのみを使用して、選択した数字の大きいセットからnの数字の可能な組み合わせを検索します。任意の数字にマッチするjavascriptが選択されました

これは私がインターネットで見つけたコードですが、いくつかのコードが失われた:

var nd = true; 

function no_dup(v) { 
    nd = !v; 
    genfunction(); 
} 

function genfunction() { 
    var x = document.getElementsByClassName("choice"); 
    var number_set = []; 
    var j = 0; 
    for (i = 0; i < x.length; i++) 
     if (x[i].checked) { 
      number_set[j++] = x[i].value; 
........ 
........ 
........  
// rest of the code is lost. 

このページがどのように見えるかです:

matching any number

+0

'のルールを維持しながら、あなたが与えられた数値のすべての可能な組み合わせを探していますXY = YX'? –

答えて

0

あなたが持っているコードは、ほとんど何もしません - それはあなたの90%を失ったようです。

そうで、最初からそれをやって、ここで私はそれを行うだろうかです:

function getCombinations(digits, size, prefix = []) { 
 
    if (!size) return [prefix]; 
 
    if (digits.length < size) return []; 
 
    return digits.reduce((acc, dig, i) => 
 
     acc.concat(getCombinations(digits.slice(i+1), size-1, prefix.concat([dig]))) 
 
    , []); 
 
} 
 

 
document.body.onchange = function() { 
 
    // Get input 
 
    var selectedDigits = Array.from(digits.options) 
 
           .filter(option => option.selected) 
 
           .map(option => +option.value); 
 
    var digitCount = +sizes.value; 
 
    // Produce combinations, and turn them into strings 
 
    var combinations = getCombinations(selectedDigits, digitCount) 
 
         .map(digits => digits.join('')); 
 
    // Output result 
 
    output.textContent = combinations.join(' '); 
 
}
select { display: inline-block } 
 
div { clear: left } 
 
.pad option { padding-left: 10px; padding-right: 20px }
Hold down Control key to click multiple digits (or drag):<br> 
 
<select id="digits" class="pad" multiple size="10"> 
 
    <option>0</option> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>3</option> 
 
    <option>4</option> 
 
    <option>5</option> 
 
    <option>6</option> 
 
    <option>7</option> 
 
    <option>8</option> 
 
    <option>9</option> 
 
</select> 
 
<select id="sizes" size="2"> 
 
    <option value=2 selected>2 digits</option> 
 
    <option value=3>3 digits</option> 
 
</select><br> 
 
Combinations: <span id="output"></span>

+0

よろしくお願いします非常に非常にtrincotあなたの助けは非常に便利ですが、私は完全なコードがこのイメージの私の欲しい一致パターンのように表示することができますhtmlコードが含まれてほしいhttps://i.stack.imgur.com/nnYjZ.png完璧な表示ユーザーのモバイル画面に表示されます。ちょうどユーザーが私の国でギャンブル地元のロトを組み合わせるために簡単に番号を選択する画面をタッチします。あなたが私を理解することを願っています。 ありがとうございます。永遠にあなたを愛してください。 – newmb

+0

あなたが今質問しているものは広すぎます。あなたは自分自身でユーザーインターフェイスを作ろうとし続けなければならず、*特定の問題にぶつかった場合(たとえば、ページ上の要素を整列させて)、そのことについて*具体的な質問をしてください。下のボタンは「この質問には研究努力が示されていません」ということを記していますので、今私は親切に研究し、そのようなユーザーインターフェイスを作る方法を見つけ出しています;-)あなたがそれを働かせることに直面する*特定の*問題。 – trincot

関連する問題