Permutations: Difference between revisions

m
(→‎{{header|Perl 6}}: modernize a bit)
Line 2,107:
// [a] -> [[a]]
function permutations(xs) {
return xs.length ? (chain(xs, function (x) {
return chain(permutations(deleted(x, xs)), function (xys) {
return chain( permutations(deleted([[x, xs)), function ].concat(ys) {]);
})
 
})) return (: [[x].concat(ys)] );
 
})})) : [[]]
}
 
Line 2,123 ⟶ 2,121:
// drops first instance found
function deleted(x, xs) {
return xs.length ? x === xs[0] ? xs.slice(1) : [xs[0]]
.concat(deleted(x === xs[0] ?, xs.slice(1))) : [xs[0]].concat(;
deleted(x, xs.slice(1))
)
) : [];
}
 
Line 2,136 ⟶ 2,131:
{{out}}
 
<lang JavaScript>[["Aardvarks", "eat", "ants"], ["Aardvarks", "ants", "eat"], ["eat", "Aardvarks", "ants"], ["eat", "ants", "Aardvarks"], ["ants", "Aardvarks", "eat"], ["ants", "eat", "Aardvarks"]]</lang>
["eat", "Aardvarks", "ants"], ["eat", "ants", "Aardvarks"],
["ants", "Aardvarks", "eat"], ["ants", "eat", "Aardvarks"]]</lang>
 
=={{header|jq}}==
9,659

edits