JavaScript: объединить номера данного массива в массив, содержащий все комбинации
Основы JavaScript (синтаксис ES6): упражнение 9 с решением
Напишите программу на JavaScript для объединения чисел данного массива в массив, содержащий все комбинации.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Combine the numbers of a given array into an array containing all combinations</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const powerset = arr => arr.reduce((a, v) => a.concat(a.map(r => [v].concat(r))), [[]]);
console.log(powerset([1, 2]));
console.log(powerset([1, 2, 3]));
console.log(powerset([1, 2, 3, 4]));
Пример вывода:
[[], [1], [2], [2,1]] [[], [1], [2], [2,1], [3], [3,1], [3,2], [3,2,1]] [[], [1], [2], [2,1], [3], [3,1], [3,2], [3,2,1], [4], [4,1 ], [4,2], [4,2,1], [4,3], [4,3,1], [4,3,2], [4,3,2,1]]
Иллюстрированная презентация:
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-1-9 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу JavaScript для фильтрации указанных значений из указанного массива. Вернуть исходный массив без отфильтрованных значений.
Далее: Напишите программу на JavaScript для извлечения значений по указанным индексам из указанного массива.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования