我想在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);
}
}
}
有更简洁的方法吗?
答案 0 :(得分:4)
// 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
答案 1 :(得分:2)
您可以j
开始i + 1
并消除if
条件。