ran npm run tester generate js test files and refactored permuteAll

This commit is contained in:
King
2018-02-12 19:22:11 -05:00
parent c435f64868
commit 96c37eea5a
2 changed files with 16 additions and 20 deletions

View File

@ -7,20 +7,18 @@ const permuteAll = (input) => {
const result = []; const result = [];
let inputState = input; let inputState = input;
if (typeof input === 'string') inputState = input.split('') if (typeof input === 'string') inputState = input.split('');
if (typeof input === 'number') inputState = (input).toString().split(''); if (typeof input === 'number') inputState = (input).toString().split('');
const permute = (arr, m = []) => { const permute = (arr, m = []) => {
if (arr.length === 0) { (arr.length === 0)
result.push(m) ? result.push(m)
} else { : arr.forEach((_, i) => {
for (let i = 0; i < arr.length; i++) { let curr = arr.slice();
let curr = arr.slice(); let next = curr.splice(i, 1);
let next = curr.splice(i, 1); permute(curr.slice(), m.concat(next));
permute(curr.slice(), m.concat(next)) });
} };
}
}
permute(inputState); permute(inputState);

View File

@ -2,20 +2,18 @@ const permuteAll = (input) => {
const result = []; const result = [];
let inputState = input; let inputState = input;
if (typeof input === 'string') inputState = input.split('') if (typeof input === 'string') inputState = input.split('');
if (typeof input === 'number') inputState = (input).toString().split(''); if (typeof input === 'number') inputState = (input).toString().split('');
const permute = (arr, m = []) => { const permute = (arr, m = []) => {
if (arr.length === 0) { (arr.length === 0)
result.push(m) ? result.push(m)
} else { : arr.forEach((_, i) => {
for (let i = 0; i < arr.length; i++) {
let curr = arr.slice(); let curr = arr.slice();
let next = curr.splice(i, 1); let next = curr.splice(i, 1);
permute(curr.slice(), m.concat(next)) permute(curr.slice(), m.concat(next));
} });
} };
}
permute(inputState); permute(inputState);