#如何得出多有組合? 用js有好的想法指點一下嗎~
考來的。 。 。
function permute(input) { var permArr = [], usedChars = []; function main(input){ var i, ch; for (i = 0; i < input.length; i++) { ch = input.splice(i, 1)[0]; usedChars.push(ch); if (input.length == 0) { permArr.push(usedChars.slice()); } main(input); input.splice(i, 0, ch); usedChars.pop(); } return permArr; } return main(input).join('\n'); }; console.log(permute(['foo','bar','hello','world']));
var arr = ['foo', 'bar', 'hello', 'world']; // 4 3 2 1 var first = {} var result = []; arr.forEach((first, idx, its) => { its.filter(e => e!==first).forEach((sec, idx, its) => { its.filter(e => e!==sec).forEach((third, idx, its)=> { its.filter(e => e!=third).forEach((forth, idx, its) => { console.log(first, sec, third, forth); result.push(first + sec + third + forth); }); }); }); });
= = 喪心病狂的遍歷。 。 。
可以用有向圖方法,得到四個節點所有路徑
棧和佇列
考來的。 。 。
= = 喪心病狂的遍歷。 。 。
可以用有向圖方法,得到四個節點所有路徑
棧和佇列