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