|
Полный перебор символов
Уважаемые знатоки, подскажите пожалуйста как сгенерировать и запушить в массив строку состоящую из символов массива arr
var arr = ['A','B','C','D','E'] должно получится var comb = [AAAA, AAAB, AAAC..... AABA, AABB....] итд пока все не закончится строкой EEEE в общем нужен массив строк длинною в 4 символа все различно возможных комбинаций. |
VSEM-DOBRA,
перебор вариантов es6 |
рони,
Это совсем другое. тут комбинаций будет намного больше, т.к. символ может использоваться сколько угодно раз, а не один. |
VSEM-DOBRA,
Нужен массив комбинаций наподобие брутфорса пароля только из символов вашего arr? |
Цитата:
|
j0hnik,
Да Все верно =) Хелп рони, не работает
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<script>
function combinator(matrix){
return matrix.reduceRight(function(combination, x){
var result = [];
[...x].forEach(function(a){
[...combination].forEach(function(b){
result.push(a + b);
});
});
return result;
});
};
document.write(
JSON.stringify(combinator(['A','B','C','D','E']))
);
</script>
</body>
</html>
=((( |
VSEM-DOBRA,
<script>
"use strict"
var arr = ['A','B','C','D','E'];
function combinator(matrix){
return matrix.reduceRight(function(combination, x){
var result = [];
[...x].forEach(function(a){
[...combination].forEach(function(b){
result.push(a + b);
});
});
return result;
});
};
document.write(
JSON.stringify(combinator(Array.from({length : 4}, () => arr )))
);
</script>
|
Первое что приходит в голову это циклы, но будет 3 вложенных цикла, не знаю насколько правильный это ход, но производительность будет максимальное (я так думаю). м.б рони возразит?
|
рони,
Красивый код =) ;) |
По мне так жуть, яб посмотрел как чувак преподу объясняет как он дошёл до такого извращения вместо простых человеческих циклов.)
|
| Часовой пояс GMT +3, время: 23:18. |
|