首页 >web前端 >js教程 >如何在 JavaScript 中生成整数数组的所有排列?

如何在 JavaScript 中生成整数数组的所有排列?

Patricia Arquette
Patricia Arquette原创
2024-12-14 13:45:12951浏览

How Can I Generate All Permutations of an Array of Integers in JavaScript?

JavaScript 中的排列:整数数组

在 JavaScript 中,常见的任务是生成数组的排列。排列涉及以所有可能的顺序排列数组的元素。考虑一个函数,它接受一个整数数组并返回一个包含所有可能排列的数组,其中每个排列的长度与原始数组相同。

要修改提供的对字符串进行操作的函数,以使用整数数组,需要进行一些修改。首先,用于从字符串创建字符数组的 split 方法不能直接应用于整数数组。相反,可以迭代数组,并将每个元素推送到新数组:

const integers = [...input];

接下来,用于连接字符串排列中的字符的 join 方法不能与整数一起使用。相反, concat 方法可用于创建一个包含所有整数的新数组:

if (integers.length === 0) {
  permArr[permArr.length] = [...usedChars];
}

函数的其余部分保持不变,它现在将生成整数数组的所有可能排列将它们作为数组的数组返回:

let permArr = [];
let usedChars = [];

function permute(input) {
  const integers = [...input];
  for (let i = 0; i < integers.length; i++) {
    const ch = integers.splice(i, 1);
    usedChars.push(ch);
    if (integers.length === 0) {
      permArr[permArr.length] = [...usedChars];
    }
    permute(integers);
    integers.splice(i, 0, ch);
    usedChars.pop();
  }
  return permArr;
}

这个修改后的函数可以生成整数数组的排列并将它们作为数组的数组返回,每个数组包含不同的排列。

以上是如何在 JavaScript 中生成整数数组的所有排列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn