同じ数の要素を持つJavaScriptの複数の配列があります。共通の値を見つけて、それらを次のような個別の配列にグループ化したい (javascript と jquery を使用) ...
[1,2,3,4]
[1,2,3,5]
[1,2,3,6]
[1,2,4,3]
次の結果が必要です。
1 / 2 / 3 / 4,5,6
1 / 2 / 4 / 3
これにより、上記のように 2 つの別々の組み合わせのセットが得られるはずです。以下は正しくありません。
1 / 2 / 3,4 / 3,4,5,6
[1,2,4,5] と [1,2,4,6] の配列が存在しないためです。
これが私のコードです
<input type="checkbox" class="cb4" value="1,2,3,4" />
<input type="checkbox" class="cb4" value="1,2,3,5" />
<input type="checkbox" class="cb4" value="1,2,3,6" />
<input type="checkbox" class="cb4" value="1,2,4,3" />
for (i = 0; i < 4; i++) {
combos[i] = [];
}
$('input.cb4:checked').each(function(){
var nums = this.value.split(',');
for (i = 0; i < nums.length; i++) {
if ($.inArray(nums[i], combos[i]) == -1) {
combos[i].push( nums[i] );
}
}
});
var bets = '';
for (i = 0; i < combos.length; i++) {
combos[i].sort(function(a,b) {return a-b});
bets += combos[i] + ' / ';
}
ストリング ベットの値は、「1 / 2 / 3,4 / 3,4,5,6」です。繰り返しますが、1,2,4,5 または 1,2,4,6 の値がないため、これは正しくありません。