不知道你用来干啥,但最终还是写出来了。
<script type="text/javascript">//计算从n个元素中选取m个元素可形成的组合
function combine(m,n) {
if(n < 1 || m < 1 || m > n) {
return []
}
var result = []
var i,j,k
if(m == 1) {
for(i=1i<=ni++) {
result.push(i.toString())
}
return result
}
var iResult
for(i=1i<=ni++) {
j=i
while(j+m-1 <= n) {
iResult = [i]
for(k=1k<mk++) {
iResult.push(j+k)
}
result.push(iResult.join(" "))
j++
}
}
return result
}
//求整数n,随机抽取1到n个数值的所有组合,
function combineFromOneToN(n) {
if( n < 1 ) {
return
}
var result = []
for(var i=1i<=ni++) {
result = result.concat(combine(i,n))
}
return result
}
//测试
console.log(combineFromOneToN(5))
</script>
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=0i<len1i++){
for(var j=0j<len2j++){
temp.push(arr[0][i]+arr[1][j])
}
}
newArr.splice(0,2,temp)
return arguments.callee(newArr)
}
return arr[0]
}
console.log(combine(data))