let arr = [[1,23,23,21,1,23,41],[2,12,3,321,234,234,1,31,321,22,3],[12,32,53,1,3,12,3,2],[12,32,53,1,3,12,3,2]].reduce(function(a, b) {
return a.concat(b);
});
var result = [];
while(result.length < 6) {
let sum = Math.floor(Math.random() * (arr.length - 0)) + 0;
if(result.indexOf(arr[sum]) == -1) { // Проверяем
result.push(arr[sum]);
}
}
Для ускорения (небольшого) можно отдельно скопировать уникальный
arr
. То есть:
let arr = [[1,23,23,21,1,23,41],[2,12,3,321,234,234,1,31,321,22,3],[12,32,53,1,3,12,3,2],[12,32,53,1,3,12,3,2]].reduce(function(a, b) {
return a.concat(b);
});
let unique = arr.filter((val, i) => arr.indexOf(val) == i);
var result = [];
while(result.length < 6) {
let sum = Math.floor(Math.random() * (unique.length - 0)) + 0;
if(result.indexOf(unique[sum]) == -1) { // Проверяем
result.push(unique[sum]);
}
}