js一个数组中取三个数有几种组合

JavaScript017

js一个数组中取三个数有几种组合,第1张

6种。根据查询相关信息得知三个数可以组成6种组合,123,132,213,231,312,321。JavaScript(简称JS)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。

不知道你用来干啥,但最终还是写出来了。

<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))