当前位置: 首页 > 编程笔记 >

如何在JavaScript中使用给定数量的元素创建数组的排列

易自珍
2023-03-14
本文向大家介绍如何在JavaScript中使用给定数量的元素创建数组的排列,包括了如何在JavaScript中使用给定数量的元素创建数组的排列的使用技巧和注意事项,需要的朋友参考一下

我们需要编写一个JavaScript函数,该函数以文字数组作为第一个参数,并以数字作为第二个参数。

该函数应构造一个包含所有此类数组的数组,这些数组的长度等于第二个参数指定的数字,并包含输入数组元素的所有可能排列。

例如-

如果输入数组和数字为-

const arr = ['k', 5];
const num = 3;

那么输出应该是-

const output = [
   [ 'k', 'k', 'k' ],
   [ 'k', 'k', 5 ],
   [ 'k', 5, 'k' ],
   [ 'k', 5, 5 ],
   [ 5, 'k', 'k' ],
   [ 5, 'k', 5 ],
   [ 5, 5, 'k' ],
   [ 5, 5, 5 ]
];

示例

以下是代码-

const arr = ['k', 5];
const num = 3;
const allPairs = (arr = [], num) => {
   const res = [];
   if(num === 0){
      return [[]];
   }
   const subResult = allPairs(arr, num - 1);
   for(let el of arr){
      for(let sub of subResult){
         res.push([el].concat(sub));
      }
   }
   return res;
}
console.log(allPairs(arr, num));
输出结果

以下是控制台输出-

[
   [ 'k', 'k', 'k' ],
   [ 'k', 'k', 5 ],
   [ 'k', 5, 'k' ],
   [ 'k', 5, 5 ],
   [ 5, 'k', 'k' ],
   [ 5, 'k', 5 ],
   [ 5, 5, 'k' ],
   [ 5, 5, 5 ]
]

 类似资料:
  • 我有以下代码,运行时会出现错误:TypeError:无法读取未定义的属性“split” 您可以在这里运行它。 我有数组,我想将它转换为数组的数组,首先在处拆分以分离数组,然后在处拆分以创建数组中的项。因此此列表将如下所示: [[data1,data2,data3],[data4,data5,data6],[data7,data8,data9]] 执行类似的操作,但当我尝试使用访问它时,它只给我第一

  • 例如,我们有一个数组: 现在我想创建d=5的数组的最大数量: array1: array2:

  • 给定一个int数组和所需的数组大小,应该返回一个包含所有可能唯一数组的数组。初始数组中的所有整数都应该是唯一的。如果在另一个数组中找不到其所有成员,则认为该数组是唯一的。

  • 问题内容: 我正在尝试在Swift中创建一个元组数组,但是遇到很大的困难: 以上导致编译器错误。 怎么会这样 以下内容可以正常工作: 问题答案: 它与类型别名一起使用: 更新: 从Xcode 6 Beta 3开始,数组语法已更改:

  • 我已经创建了一个的数组: 我的问题是现在如何访问其中一个数组的元素。例如,我可以通过以下方式访问(或在示例打印中)整个数组元素: 但是如何访问所拥有的数组中的第一个元素呢?我尝试了所有方法,比如,但当数组是链接列表的元素时,我不知道如何访问数组中的元素。