js对数组元素进行组合
javascript中对数组元素的进行组合
获取一个数组,其中元素的所有组合
思路:
对数组实现一个伪递归,从下标0元素向后循环,直到下标加一等于数组长度时 停止
/**
*
* @param _i 开始下标: 0
* @param arr 需要排列数组
* @param groupArr 缓存对象: []
*/
groupSplit(_i, arr, groupArr): any {
// 组合
const _len = arr.length;
if (_i + 1 < _len) {
for (let j = _i + 1; j < _len; j++) {
console.log(_i, j);
groupArr.push({src: arr[_i], tar: arr[j]});
}
return this.groupSplit(_i + 1, arr, groupArr);
}
return groupArr;
}
const grouArr = this.groupSplit(0, [2,4,5], []);
console.log(grouArr); // [[2, 4], [2, 5], [4, 5]]