问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js两个数组排列组合

发布网友 发布时间:2022-04-20 08:02

我来回答

3个回答

热心网友 时间:2022-05-15 07:02

<html>
<head>
    <title>js两个数组排列组合</title>
    <script type="text/javascript">
    var a = ["A","B","C"];
    var b = ["1", "2","3"];
    window.onload = function () {
        var a1 = new objPL(a);//计算数组a的排列组合
        var b1 = new objPL(b);//计算数组b的排列组合
        var str = "";
        var n = 0;
        //a1和b1的排列组合个数就是两者相乘(双层循环)
        for (var i = 0; i < a1.length; i++) {
            for (var j = 0; j < b1.length; j++) {
                str += a1[i] + b1[j] + " ";
                n++;
            }
            str += "<br/>";
        }
        document.write("共" + n + "个<br/>");
        document.write(str);
    }
    //取数组的排列组合
    function objPL(arr) {
        this.a = arr;
        this.r = [];
        this.n = 0;
        //从M个数里面取N个(递归)
        this.mGetN = function (curIndex, num, curSelect) {
            if (num == 0) {
                this.r[this.n++] = curSelect; return;
            }
            if (this.a.length - curIndex < num) return;
            this.mGetN(curIndex + 1, num - 1, curSelect + this.a[curIndex]);
            this.mGetN(curIndex + 1, num, curSelect);
        }
        for (var i = 1; i <= this.a.length; i++) {
            this.mGetN(0, i, "");
        }
        return this.r;
    }
    </script>
</head>
<body></body>
</html>

 

["A","B","C"]与["1","2","3"]组合的结果:

热心网友 时间:2022-05-15 08:20

var aArr = ['a', 'b', 'c'];
var bArr = ['大', '小'];
var cArr = ['西瓜', '冬瓜', '葡萄'];
var dArr = [{name:'hello'},{name:'look'}];
// 装载所有需要组合的数组
var totalArr = [aArr, bArr, cArr,dArr];
// 最终得到的所有的元素组合数组
var targetList = [];
// 所有的数组组合放在一起计算
function countList(allArr) {
if (allArr && allArr.length > 0) {
if (allArr.length > 1) {
var iArr = allArr[0];
var jArr = allArr[1];
var newArr = twoArrComp(iArr, jArr);
var leftArr = [];
for(var m = 0;m<allArr.length;m++){
if(m>1){
leftArr.push(allArr[m])
}
}
leftArr.unshift(newArr);
if(leftArr.length>1){
countList(leftArr);
}else{
targetList = leftArr;
}
} else {
targetList = allArr[0];
}
}
}
countList(totalArr);
console.log(targetList);
// 数组两两组合
var _resultArr = [];
function twoArrComp(aArr, bArr) {
var listArr = [];
if (aArr && aArr.length > 0 && bArr && bArr.length > 0) {
aArr.forEach(function (aItem) {
bArr.forEach(function (bItem) {
_resultArr = [];
splitArrToOneDir(aItem);
splitArrToOneDir(bItem);
listArr.push(_resultArr)
})
})
}
return listArr;
}
// 函数递归,把*数组拆成一维平面数组
function splitArrToOneDir(item){
if(isArray(item) == true){
item.forEach(function(childItem){
if(isArray(childItem) == true){
splitArrToOneDir(childItem)
}else{
_resultArr.push(childItem);
}
})
}else{
_resultArr.push(item);
}
}
// 判断是否是Array数组
function isArray(item) {
var _isArray = false;
if (Array.isArray) {
_isArray = Array.isArray(item);
} else {
_isArray = Object.prototype.toString().call(item) === "[object Array]"
}
return _isArray;
}

热心网友 时间:2022-05-15 09:54

var c=new Array(); 
var k=0,as="",bs="";
//A1,A2...... 赋值给数组c
 for(var i=0;i<a.length;i++)
{
    for(var j=0;j<b.length;j++)
    {
        c[k]=a[i]+b[j];
        k++; 
    }
}
//求a中字符和 
for(var m=0;m<a.length;m++)
{
     as+=a[m];
}
//求b中字符和 
for(var n=0;n<b.length;n++)
{
     bs+=b[n];  
}
// AB1,AB2赋值给数组c
 for(n=0;n<b.length;n++)
{
     c[k]=as+b[n];
     k++;  
}
//A12,B12赋值给数组c 
for(m=0;m<a.length;m++)
{
     c[k]=a[m]+bs;
     k++;  
}
c[k]=as+bs;//将AB12赋值给数组c 
for(k=0;k<c.length;k++)
   alert(c[k]);

js两个数组排列组合

js两个数组排列组合 var a = ["A","B","C"]; var b = ["1", "2","3"]; window.onload = function () { var a1 = new objPL(a);//计算数组a的排列组合 var b1 = new objPL(b);//计算数组b的排列组合 var str = ""; var n = 0; ...

js实现的数据算法?

二维数组数据排列组合 JavaScript &lt;button type="button"onclick="myarr=[[0,1,2], [0,1,2], [0,1,2]];mystr='';for (i = 0; i &lt; myarr.length; i++) { for (j = 0; j &lt; 3; j++){ for (k = 0; k &lt; 3; k++){ mystr=mystr+myarr[0][i]+myarr[i][j...

js jq M个数组选N个进行排列组合,怎么写?

这个主要考量的是计算的问题,主要就是理解排列和组合的公式。在这里,我们只需要计算元素的个数,就可以使用公式获取到排列组合数,但如果要获取排列组合的具体集合,就需要遍历,也就是我们经常使用的for循环,通过循环,每个数组去一个元素。就构成了组合。

web前端大厂10道经典面试题汇总(含答案详解)

3、实现超出整数存储范围的两个大正整数相加。针对大数字运算,使用数组存储位数不同的大整数,通过逆序相加并处理进位,得到结果后反转数组返回。4、任意二维数组的全排列组合。此题采用递归方式,将多项数组逐步相乘,实现全排列组合。简单明了,将复杂问题简化。5、公司根据产品售价决定利润最大化。每个...

高中排列组合 题目如下,两个正方形和一个三角形进行排列 一共有1/2A...

3A+2A=5A.DKGLZ;RKAYJF=35532A FGHJDSKJHKKDFGHJKJSHDJFLKGDLHSKHHGIFDGOGHJDHGSGFIODUGL;KHF=32145669784248956245863256A=HSJDLFJGHKSK.33333333333.333333554898457545乘CFJFHGKLHFDKJF11513633.FDGHDFJD256752A

数组是大学知识吗?

数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。这些有序排列的同类数据元素的集合称为数组。数组是用于储存多个相同类型数据的集合 产生来源 在C语言中, 数组 属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造...

软考程序员要看哪些书?

计算机中二进制数的运算方法 逻辑代数的基本运算和逻辑表达式的化简 1.4 数学应用 常用数值计算(矩阵、方程的近似求解、插值)排列组合、应用统计(数据的统计分析)1.5 常用数据结构 数组(表态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树)、图的...

计算机为什么会如此强大

16个0和1可组成各种排列组合,通过线路变成电信号,让计算机执行各种不同的操作。 如某种计算机的指令为1011011000000000,它表示让计算机进行一次加法操作;而指令1011010100000000则表示进行一次减法操作。它们的前八位表示操作码,而后八位表示地址码。从上面两条指令可以看出,它们只是在操作码中从左边第0位算起的第6和第7...

如何确定自己是否适合做程序员?

syuanlei1987 ·努力成为无所不知的最佳答题者 专注于 一份工作是否适合你至少有三个标准:你擅长什么,你喜欢什么,什么对你最有价值(也能赚钱)。从程序员职业的角度来看,有很多标准来判断一个人是否适合做程序员。看看你是否符合以下几个核心标准:1. 理解能力或自学能力 如果你在成长过程中一直认为...

js两个数组排列组合

js两个数组排列组合 var a = ["A","B","C"]; var b = ["1", "2","3"]; window.onload = function () { var a1 = new objPL(a);//计算数组a的排列组合 var b1 = new objPL(b);//计算数组b的排列组合 var str = ""; var n = 0; ...

js实现数组排列组合 Java多个数组排列组合 数组排列组合算法 excel数组排列组合 VB实现多维数组排列组合 excel排列组合函数 js排列组合算法 excel函数实现排列组合 excel列出所有排列组合
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
是不是人高马大就会欺负人 清明节扫墓注意事项 七个规矩要谨记 我在有家医院看病几天,总受气,护士对患者不够及时照顾,还横人态度... 猫传腹是什么原因造成的 怎么预防 如何预防的猫传腹 猫传腹怎么预防应激 康佳K17这部手机怎么样(用过的说) 手机QQ2010 怎么下载和使用啊? 召幸皇帝召幸后妃的方法 山寨版的手机能下载QQ2010版的吗? js 中如何取出数组中的值? 求js对象键名根据键值排序,按排序顺序产生新键名... js数组和对象哪个效率高 求个JS算法 js简单算法如何去除一个数组中与另一个数组中的值... js文本节点数组找到起始位置算法? JavaScript数字数组怎么按数子大小排序 分享JS数组求和与求最大值的方法 js需要一个查找一个数组中相同的元素算法。 JS计算数组个数? JS数组有哪几种定义方式? JS几种数组遍历方式总结 js数组组合算法。 要求[1,2,3,4],最后生成[[1,2... js数组选n算法 js中数组排序的方法 一个JS数组,怎么计算所有值的和 js数组组合算法。 js数组常用方法 苹果6a1586全网通是什么版本 自己营销编号办的ETC怎么查询? 榛蘑生虫还能吃吗? 怎么清洗榛蘑上的虫子 新采摘的榛蘑有很多白色虫子 能吃吗? 榛蘑生虫怎么办 榛子树叶上的腻虫是什么生的? 旧榛子都有虫子是怎么回事 果榛子一般有哪些虫害 榛子食心虫最佳防治时间与药物! 大榛子打杀虫药最佳时间,一般在几月份打合适?一共... 榛子生虫了能吃么 榛子里面的这个虫子叫什么名字,怎么防治? 野生榛子怎样用药 板栗里的虫子是什么品种? 我是OPPO手机在打电话时候我开免提对方听不到声音... OPPO手机不开免提听不到声音了怎么办 oppoA11x打电话开免提没有声音怎么回事? oppo手机打电话不按免提没声音 oppoA3手机打电话不按免提一点声音都没有?怎么办? oppo打电话开免提没声音怎么回事 为什么oppo手机不开免提就没声音?