Есть массив, который содержит уникальные символы:
let myarr = ['1','2','3','4','5'];
Нам нужно узнать сколько слов определённой длины можно получить при любых перестановках символов. Как это сделать в JavaScript?
В науке «Математика» существует раздел под названием «Комбинаторика«. Он занимается перестановками.
Так вот в нашем случае на одной позиции в слове может быть 5 вариантов символа.
Если мы хотим получить слово длиной в 7 символов, то нам нужно число 5 умножить само на себя 7 раз:
5 * 5 * 5 * 5 * 5 * 5 * 5 = ?
Это называется «Правило умножения«. В JavaScript это можно записать как:
5**7
Получается 78125 вариантов перестановок (слов) можно получить.
Функция вычисления вариантов перестановок слов с учётом «Правила Умножения» и длины последовательности
function f1(array, seqlength){ return array.length**seqlength };
Пример работы функции
f1(['r', 'h', 'q', '1', '9'], 4) 625
Информационные ссылки
JavaScript | Как округлить до целого?
JavaScript | Как перемешать массив?
JavaScript | Случайный элемент массива
JavaScript | Как генерировать случайные слова из набора символов?
Стандарт ECMAScript — Раздел «The Math Object» — https://tc39.es/ecma262/#sec-math-object
Стандарт ECMAScript — Раздел «21.3.2.27 Math.random ( )» — https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-math.random
Стандарт ECMAScript — Раздел «21.3.2.16 Math.floor ( x )» — https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-math.floor