Я пытаюсь написать функцию, которая выполняет следующее:
- принимает массив целых чисел в качестве аргумента (например, [1,2,3,4])
- создает массив всех возможных перестановок [1,2,3,4], причем каждая перестановка имеет длину 4
, функция, представленная ниже (я нашел ее в Интернете), делает это, принимаястрока в качестве аргумента и возвращение всех перестановок этой строки
Я не мог понять, как изменить ее, чтобы она работала с массивом целых чисел (я думаю, что это как-то связано с тем, как некоторыеметоды работают со строками иначе, чем с целыми числами, но я не уверен ...)
var permArr = [], usedChars = [];
function permute(input) {
var i, ch, chars = input.split("");
for (i = 0; i < chars.length; i++) {
ch = chars.splice(i, 1);
usedChars.push(ch);
if (chars.length == 0)
permArr[permArr.length] = usedChars.join("");
permute(chars.join(""));
chars.splice(i, 0, ch);
usedChars.pop();
}
return permArr
};
Примечание: я ищу, чтобы функция возвращала массивы целых чисел , не массив строк .
Мне действительно нужно, чтобы решение было в JavaScript.Я уже понял, как это сделать в Python