JSFiddle - React, Tailwind, and code Playground
by yash009
JavaScript
var val = "abcdef";
getAllCombos(val);
//input “abcd” should print “”, “a”, “b”, “c”, “d”, “ab”, “ac”, “ad”, “bc”, “bd”, “cd”, “abc”, “abd”, “acd”, “bcd”, “abcd"
function getAllCombos(value) {
var arr = [];
var valueArr = value.split('');
var initialval= 0;
for(var i= initialval;i<valueArr.length;i++) {
arr.push(valueArr[i]);
var temp =valueArr[i];
for(var j=i;j<valueArr.length;j++) {
if(valueArr[i] != valueArr[j]) {
var temp = (temp + valueArr[j]).split('').sort().join('');
arr.push(temp);
var temp1 = valueArr[i] + valueArr[j];
arr.push(temp1);
var temp2 = valueArr.slice(0,i).join('') + valueArr.slice(j,valueArr.len).join('');
arr.push(temp2);
var temp3 = valueArr.slice(0,i).join('') + valueArr.slice(i+1,j).join('');
arr.push(temp3);
var temp4 = valueArr.slice(i+1,j).join('')+ valueArr.slice(j+1,valueArr.len).join('');
arr.push(temp4);
}
}
}
var resultArr = [...new Set(arr)];
console.log(resultArr);
console.log(resultArr.length);
}