配列内の要素のすべての可能な組み合わせを生成する方法について、同様の質問がいくつかあります。しかし、私は非常に苦労して、の組み合わせだけを出力するアルゴリズムを書く方法を考えています。。すべての提案は非常に高く評価されます!Javascript - 1つの配列内の要素のすべての組み合わせを生成する(ペアで)
(N個の要素を持つ)次の配列を皮切り:、私は次のようなアプローチを試みていたが、これはすべての可能な組み合わせになり
var result = [
"apple banana"
"apple lemon"
"apple mango"
"banana lemon"
"banana mango"
"lemon mango"
];
:
var array = ["apple", "banana", "lemon", "mango"];
そして、次の結果を得て代わりに組み合わせペアのみ。ここで
var letters = splSentences;
var combi = [];
var temp= "";
var letLen = Math.pow(2, letters.length);
for (var i = 0; i < letLen ; i++){
temp= "";
for (var j=0;j<letters.length;j++) {
if ((i & Math.pow(2,j))){
temp += letters[j]+ " "
}
}
if (temp !== "") {
combi.push(temp);
}
}
完全に動作します、明確な説明のおかげで! – dhdz