js 数排列组合

我想要一个JS类我直接把数组扔进来,array(1,2)和一个要牌列的个数回到我的排列是array("1,2","2,1")的数组比如conb(arr,2)这个名字... 我想要一个JS类我直接把数组扔进来,array(1,2)和一个要牌列的个数
回到我的排列是array("1,2","2,1")的数组
比如conb(arr,2)这个名字
展开
 我来答
乳名芙蕾娅
2014-03-28 · 超过18用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:37.9万
展开全部
表达能力有问题不怪你!~
追问
3个数字,6种组合,js写法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-03-28 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
1. 排列组合的数组里面的元素是多少个?
2. 从形参数组里面选哪几个进行排列组合?
追问
3个数字,6种组合,js写法
追答
var array = [1, 2, 3];
var sortedCount = array.length;
function conb(array, sortedCount) {
  var start = arguments[2];
  var indexs = arguments[3];
  var result = arguments[4];
  if (typeof start == 'undefined') {
    start = -1;
    indexs = {};
    result = [];
  }
  start++;
  if (start > sortedCount) {
    return;
  }
  if (!indexs[start]) {
    indexs[start] = 0;
  }
  for (indexs[start] = 0; indexs[start] < sortedCount; indexs[start]++) {
    conb(array, sortedCount, start, indexs, result);
    if (start == sortedCount - 1) {
      var temp = [];
      for (var i = sortedCount - 1; i >= 0; i--) {
        temp.push(array[indexs[start - i]]);
      }
      var flag = 1;
      L: for (var i = 0; i < temp.length; i++) {
        for (var j = i + 1; j < temp.length; j++) {
          if (temp[i] == temp[j]) {
            flag = 0;
            break L;
          }
        }
      }
      if (!!flag) {
        result.push(temp);
      }
    }
   }
   return result;
}
var result = conb(array, sortedCount);
console.error(result);

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式