Click here to Skip to main content
15,039,037 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)

I want to remove the single string and want to keep string with minimum length 3 and above i tried to access string with this if(result.string >= 3) but it is giving array length so i tried to access string but i cant. so please anybody who can help me

What I have tried:

let stringCombinations = (str) => {
    let strLength = str.length;
    let result = [];
    let currentIndex = 0;
    while (currentIndex < strLength) {
      let char = str.charAt(currentIndex);
      let x;
      let arrTemp = [char];
      for (x in result) {
        arrTemp.push("" + result[x] + char);
      result = result.concat(arrTemp);
    return result;

This is my ouput
output: (31) ["B", "L", "BL", "A", "BA", "LA", "BLA", "D", "BD", "LD", "BLD", "AD", "BAD", "LAD", "BLAD", "E", "BE", "LE", "BLE", "AE", "BAE", "LAE", "BLAE", "DE", "BDE", "LDE", "BLDE", "ADE", "BADE", "LADE", "BLADE"]

This is what I want
["BLA", "BLD", "BAD", "LAD", "BLAD", "BLE", "BAE", "LAE", "BLAE", "BDE", "LDE", "BLDE", "ADE", "BADE", "LADE", "BLADE"]"
Updated 6-Jul-21 0:27am
Patrice T 5-Jul-21 15:28pm
And you have a question or a problem ?
Happy kaul 5-Jul-21 15:34pm
Patrice T 5-Jul-21 16:12pm
And you plan to describe them ?
Richard MacCutchan 6-Jul-21 3:37am
What is the structure of the input data?
Happy kaul 6-Jul-21 3:40am
Input is "blaze"

But you can put any input. it will give combination of that word but with length minimum of 3 and can be more than 3
Richard MacCutchan 6-Jul-21 7:21am
How do you get "BLD", "BAD", "LAD", "BLAD" etc. from "BLAZE"?

I don't know Javascript but have a sense of what your code is doing. You're finding all combinations except for the empty string, which is a good start. But I see nothing in your code that filters out combinations of less than 3 letters. It looks like you build on such combinations, so it would probably be easiest to fix the code by removing them before you return result.
Replace your
return result;
return result.filter(x => x.length >= 3);
Because the way you generate the combinations, you can't filter short combinations earlier.


This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900