Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Комбинации из массива (https://javascript.ru/forum/misc/73521-kombinacii-iz-massiva.html)

ramz1989 22.04.2018 19:42

Комбинации из массива
 
Здравствуйте! Помогите пожалуйста.Имеется такой массив ["a", "bc", "def"]
Из значений этого массива нужно создать всевозможные комбинации.
То есть в итоге должно выйти следующее - abd, abe, abf, acd, ace, acf.

рони 22.04.2018 20:23

ramz1989,
http://javascript.ru/forum/misc/6749...rekursiyu.html

рони 22.04.2018 20:46

строки перебор вариантов es6
 
ramz1989,
адаптация для строк варианта Sweet, 04.08.2011 перебор всех возможных значений

<!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", "bc", "def"]))
);
</script>

</body>
</html>


Часовой пояс GMT +3, время: 18:27.