如何在Java脚本中进行置换?

2022-04-03 00:00:00 permutation javascript

我想用Java进行置换,这是我的代码

const arr = [1, 2, 3, 4, 5];

for (let i1 = 0; i1 < arr.length; i1++) {
  for (let i2 = i1 + 1; i2 < arr.length; i2++) {
    console.log(arr[i1] + ' ' + arr[i2]);
  }
}

https://jsfiddle.net/op51x6mv/1/

代码结果:

["1 2", "1 3", "1 4", "1 5", "2 3", "2 4", "2 5", "3 4", "3 5", "4 5"]

我想问一下,为什么排列的所有结果都没有显示?从这些结果中,我没有看到数字

["2 1", "3 1", "3 2", "4 1", "4 2", "4 3", "5 1", "5 2", "5 3", "5 4"]

请告诉我此代码的错误在哪里?或者,如果您有更好的代码,请帮助我。

谢谢


解决方案

您可以从头到尾循环两次,并省略相同的索引。

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
const arr = [1, 2, 3, 4, 5];

for (let i1 = 0; i1 < arr.length; i1++) {
    for (let i2 = 0; i2 < arr.length; i2++) {
        if (i1 === i2) continue;
        console.log(arr[i1] + ' ' + arr[i2]);
    }
}

相关文章