数组组合问题

稿件来源: 阳光企业网站管理系统   撰稿作者: 太阳光   发表日期: 2016-03-03   阅读次数: 13   查看权限: 游客查看

这本是csdn论坛里一个技术帖

原帖地址:http://bbs.csdn.net/topics/391908657

其实就是部N个数组中能组成多少种新数组的问题。比如:[1,2]和[a,b]只能组成四组,分别是[1,a][1,b][2,a][2,b]。用排列和组合知识我们知道如果不考虑重复的话,个数应该是各个数组长度之积。

靠套嵌N层来得出结果的大家千万别学。其实就是一个回调函数的问题:

var myArray = [['黑色','红色'],['大码','小码'],['T1','T2']];
var arrays = [];
function getnext(str, arr) {
    for (var subA = arr[0], newArr = arr.length > 1 ? arr.slice(1) : null, n = 0; n < subA.length; n++) {
        newArr ? getnext(str + subA[n] + ",", newArr) : arrays.push(str + subA[n]);
    }
}
getnext('', myArray);
console.log( arrays.join("\n"));

 

关键词: csdn,数组   编辑时间: 2016-03-03 22:39:16

  • 感到高兴

    7

    高兴
  • 感到支持

    7

    支持
  • 感到搞笑

    7

    搞笑
  • 感到不解

    7

    不解
  • 感到谎言

    7

    谎言
  • 感到枪稿

    7

    枪稿
  • 感到震惊

    7

    震惊
  • 感到无奈

    7

    无奈
  • 感到无聊

    7

    无聊
  • 感到反对

    7

    反对
  • 感到愤怒

    7

    愤怒
50%(7)
50%(7)
共有0 条评论 发言请遵守【相关规定

网友评论

会员头像
发 表同步腾讯微博  匿名评论  验证码:  点击更新
  • 暂无评论
关闭模块文章图片 article Pictrue
  • 代码覆盖率工具 Istanbul 入门教程
  • 全栈工程师的武器——MEAN
  • 9款超炫的 CSS3 复选框(Checkbox)
  • 微信开发在线翻译功能
  • CSS3那些不为人知的高级属性
  • 给easyui的datebox添加清空事件
  • flash写字效果
  • kendoUI系列教程之DropDownList下拉菜单
  • kendoUI系列教程之datetimepicker日期时间选择
  • kendoUI系列教程之datepicker日期选择
  • kendoUI系列教程之combobox下拉列表框
  • kendoUI系列教程之colorpicker
  • kendoUI系列教程之calendar日历表
  • kendoUI系列教程之autocomplete自动补齐
  • kendo ui简介
  • QQ登录网站实战教程