获取数组JavaScript中所有项目组合的算法
我们需要编写一个包含字符串文字数组的JavaScript函数。该函数应生成并返回数组中所有可能的字符串组合。
例如-
如果输入数组是-
const arr = ['a', 'b', 'c', 'd'];
那么输出应该是-
const output = ["a", "ab", "abc", "abcd", "abd", "ac", "acd", "ad", "b", "bc", "bcd", "bd", "c", "cd", "d"];
示例
const getCombinations = (arr = []) => {
const combine = (sub, ind) => {
let result = []
let i, l, p;
for (i = ind, l = arr.length; i < l; i++) {
p = sub.slice(0);
p.push(arr[i]);
result = result.concat(combine(p, i + 1));
result.push(p.join(''));
};
return result;
}
return combine([], 0);
};
console.log(getCombinations(["a", "b", "c", "d"]));输出结果
控制台中的输出将是-
[ 'abcd', 'abc', 'abd', 'ab', 'acd', 'ac', 'ad', 'a', 'bcd', 'bc', 'bd', 'b', 'cd', 'c', 'd' ]
热门推荐
9 初八的祝福语简短
10 春节拜年祝福语儿童简短
11 群众过春节祝福语简短
12 家人毕业祝福语简短励志
13 庆祝结婚蛋糕祝福语简短
14 毕业祝福语简短英语小学
15 祝产妇的祝福语简短
16 简短创意祝福语有什么
17 祝朋友祝福语简短好看
18 前程祝福语简短暖心