кодесурса
«JavaScript

JavaScript: генерировать все перестановки строки

script1adsense2code
script1adsense3code

Основы JavaScript (синтаксис ES6): упражнение 136 с решением

Напишите программу на JavaScript для генерации всех перестановок строки (содержит дубликаты).

Пример решения:

HTML-код:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Generate all permutations of a string </title>
</head>
<body>
</body>
</html>

Код JavaScript:

//#Source https://bit.ly/2neWfJ2 
const stringPermutations = str => {
  if (str.length <= 2) return str.length === 2 ? [str, str[1] + str[0]] : [str];
  return str
    .split('')
    .reduce(
      (acc, letter, i) =>
        acc.concat(stringPermutations(str.slice(0, i) + str.slice(i + 1)).map(val => letter + val)),
      []
    );
};
console.log(stringPermutations('abc'));
console.log(stringPermutations('*$*'));

Пример вывода:

 [ "А", "ACB", "БАК", "ДСС", "кабина", "СВ"]
[ "* $ *", "** $", "$ **", "$ **", "** $", "* $ *"]

Иллюстрированная презентация:

«JavaScript

Блок - схема:

«Блок-схема:

Демонстрация в реальном времени:

См. Pen javascript-basic-упражнение-136-1 от w3resource ( @ w3resource ) на CodePen .


Улучшите этот пример решения и опубликуйте свой код через Disqus

Предыдущий: Напишите программу на JavaScript, чтобы получить сумму степеней всех чисел от начала до конца (оба включительно).
Далее: Напишите программу на JavaScript для выполнения стабильной сортировки массива, сохраняя начальные индексы элементов, когда их значения совпадают. Не изменяйте исходный массив, но вместо этого возвращает новый массив.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code