我在 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] + ' / ';
}
字符串 bets 的值为:“1 / 2 / 3,4 / 3,4,5,6”。同样,这是不正确的,因为没有 1、2、4、5 或 1、2、4、6 的值。