js实现算法:几组数据的组合问题
vardata=[["A","B","C"],["D","E"],[1,2]];data为二维数组,其长度和子数组长度均不定,每个子数组取出一个元素,组合成一系列新的数据...
var data = [["A", "B", "C"],["D", "E"], [1, 2]];
data为二维数组,其长度和子数组长度均不定,每个子数组取出一个元素,组合成一系列新的数据,如上述数据可组合的方式有12种:A,D,1 A,D,2 A,E,1 ,A,E,2 B,D,1 B,D,2 B,E,1 B,E,2 C,D,1 C,D,2 C,E,1 C,E,2;
求:用js实现算法,找出data的所有组合情况 展开
data为二维数组,其长度和子数组长度均不定,每个子数组取出一个元素,组合成一系列新的数据,如上述数据可组合的方式有12种:A,D,1 A,D,2 A,E,1 ,A,E,2 B,D,1 B,D,2 B,E,1 B,E,2 C,D,1 C,D,2 C,E,1 C,E,2;
求:用js实现算法,找出data的所有组合情况 展开
1个回答
展开全部
var data = [["A", "B", "C"],["D", "E"], [1, 2]];
function combine(arr){
if(arr.length>1){
var len1=arr[0].length, len2=arr[1].length, newArr=arr.slice(0), temp=[];
for(var i=0;i<len1;i++){
for(var j=0;j<len2;j++){
temp.push(arr[0][i]+arr[1][j])
}
}
newArr.splice(0,2,temp);
return arguments.callee(newArr)
}
return arr[0]
}
console.log(combine(data))
更多追问追答
追问
大神,小弟实在没看懂,能否用递归实现一下?
追答
汗..F12不会吗..
那你把console.log换成alert运行一下
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询