1
我在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
這應該會產生兩組獨立的組合。下面將不正確的:
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的值。
你想在結果數組?或在字符串? – jfriend00
你認爲最佳結果是什麼?最緊縮的版本?例如,如果[1,2,3,4]; [1,2,3,5]; [1,2,3,6]; [1,2,4,4]; [1 ,2,4,5]爲1/2/3/4,5,6; 1/2/4/4,5或1/2/3,4/4,5; 1/2/3/6'?你能否提供關於陣列性質的更多提示以及可能會消除更多複雜場景的可能結果?例如,我們在談論少數幾個數組還是1000個數組?是否只有一個「正確」的答案或任何組合會做?你能解釋一下這個背後的目的,也許有一個更簡單的方法嗎? – mellamokb
結果可以是數組或字符串。是的,最佳結果是儘可能多地組合所有陣列。我們正在談論少於100個陣列。 –