查找数组的所有“唯一组合”

Find all *unique combinations* of an array

本文关键字:唯一 组合 唯一组合 数组 查找      更新时间:2023-09-26

我想找到JavaScript中数组元素位置的所有唯一组合

这是我的数组

var places = ['x', 'y', 'z'];

我想找出下列组合:[0,1],[0,2],[1,2].

目前我有功能,但有点笨拙:

for (var i = 0; i < places.length; i++) {
    for (var j = 0; j < places.length; j++) {
        if ((j > i) && (j != i)) { 
            console.log(i, j);
        }
    }
}

有更简洁的方法吗?

// from codecademy.com
var people = ["Alice", "Bob", "Carol", "Dave", "Ed"];
var n = people.length;
var i, j;
for(i = 0; i < n; i++){
    for(j = i + 1; j < n; j++){
        console.log(people[i] + ", " +  people[j]);
    }
}
// output
Alice, Bob
Alice, Carol
Alice, Dave
Alice, Ed
Bob, Carol
Bob, Dave
Bob, Ed
Carol, Dave
Carol, Ed
Dave, Ed

您可以在i + 1处启动j,从而消除您的if条件。