Я пытаюсь написать функцию, которая может выполнять перестановку.
Например, если я введу [1, 2, 3]
, ожидаемый ответ будет
[ [ 3, 2, 1 ], [ 3, 2, 1 ],[ 3, 2, 1 ],[ 3, 2, 1 ],[ 3, 2, 1 ],[ 3, 2, 1 ] ]
Но вместо того, чтобы показать ответ, он возвращает [[ ],[ ],[ ],[ ],[ ]]
Есть идеи?
var permute = (nums) => {
results = [];
var backtrack = (nums, result) => {
if (nums.length === result.length) {
results.push(result);
} else {
for (var i = 0; i < nums.length; i++) {
if (result.indexOf(nums[i]) > -1) {
continue;
}
result.push(nums[i]);
backtrack(nums, result);
result.pop();
}
}
}
backtrack(nums, []);
return results;
};
console.log(permute([1, 2, 3]));