javascript所有可能的数组安排

时间:2017-05-15 14:55:02

标签: javascript arrays

所以我有一个数组(在我的例子中它只是数字,但我不认为这是非常相关的)整数,我想获得这个数组的所有可能安排的数组,所以让我们说

    arr = [1,4,5]
allArrangements(arr) 
// [[1,4,5],[1,5,4],[4,1,5],[4,5,1],[5,1,4],[5,4,1]]

1 个答案:

答案 0 :(得分:0)

您必须将项目总数从最高值乘以

  • [1,4,5]> 3*2*1 = 6种可能的安排
  • [1,4,5,6]> 4*3*2*1 = 24种可能的安排
  • [1,4,5,6,7]> 5*4*3*2*1 = 120种可能的安排

var array = [1,4,5,6];
function permutation (arr){
  var len = arr.length,
      i = len-1,
      ags = len;
  while(i--){
    len--;
    ags *= len;
  }
  return ags;
}
console.log(permutation(array));