JavaScript: получить все возможные подмножества с фиксированной длиной комбинации в массиве
Функция JavaScript: упражнение 21 с решением
Напишите функцию JavaScript, чтобы получить все возможные подмножества с фиксированной длиной (например, 2) комбинации в массиве.
Пример массива : [1, 2, 3] и длина поднабора 2
Ожидаемый результат : [[2, 1], [3, 1], [3, 2], [3, 2, 1]]
Пример решения: -
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript array subset</title>
</head>
<body>
</body>
</html>
Код JavaScript:
function subset(arra, arra_size)
{
var result_set = [],
result;
for(var x = 0; x < Math.pow(2, arra.length); x++)
{
result = [];
i = arra.length - 1;
do
{
if( (x & (1 << i)) !== 0)
{
result.push(arra[i]);
}
} while(i--);
if( result.length >= arra_size)
{
result_set.push(result);
}
}
return result_set;
}
console.log(subset([1, 2, 3], 2));
Пример вывода:
[[2,1], [3,1], [3,2], [3,2,1]]
Блок - схема:
Демонстрация в реальном времени:
См. Pen JavaScript - Получите все возможные подмножества с комбинациями фиксированной длины в array-function-ex-21 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите функцию JavaScript, которая генерирует строковый идентификатор (заданную длину) случайных символов.
Далее: Напишите функцию JavaScript, которая принимает два аргумента, строку и букву, и функция будет подсчитывать количество вхождений указанной буквы в строке.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования