2016-11-26 1 views
2

JavaScript의 문자열에서 모든 부분 문자열을 가져 오는 다음 함수가 있습니다. 나는 그것이 옳지 않다는 것을 알고 있지만 나는 그것에 대해 올바르게 생각하고있는 것처럼 느낍니다. 어떤 충고라도 잘 될 것입니다.JavaScript에서 문자열의 모든 부분 문자열 가져 오기

var theString  = 'somerandomword', 
    allSubstrings = []; 

getAllSubstrings(theString); 

function getAllSubstrings(str) { 

    var start = 1; 

    for (var i = 0; i < str.length; i++ ) { 

    allSubstrings.push(str.substring(start,i)); 

    } 

} 

console.log(allSubstrings) 

편집 : 제 질문에 명확하지 않은 경우 사과드립니다. substring이란 문자열의 모든 문자 조합을 의미합니다 (실제 단어 일 필요는 없습니다). 문자열이 'abc'이면 [a, ab, abc, b, ba, bac 등 ...] 감사합니다. 모든 응답.

+3

"모든"부분 문자열을 의미합니까? "" –

+0

예상되는 출력은 무엇입니까? – Aruna

+0

유용 할 것입니다. http://stackoverflow.com/questions/4547609/how-do-you-get-a-string-to-a-character-array-in-javascript –

답변

7

하위 문자열에 대해 두 개의 중첩 루프가 필요합니다.

function getAllSubstrings(str) { 
 
    var i, j, result = []; 
 

 
    for (i = 0; i < str.length; i++) { 
 
     for (j = i + 1; j < str.length + 1; j++) { 
 
      result.push(str.slice(i, j)); 
 
     } 
 
    } 
 
    return result; 
 
} 
 

 
var theString = 'somerandomword'; 
 
console.log(getAllSubstrings(theString));
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

고맙습니다. – user2085143

+0

이 솔루션은 문자열의 일부만 제공하지만 순열을 수행하지는 않습니다. –

-3
var theString = 'somerandomword', 
var allSubstrings = theString.Split(''); 

allSubstrings == >> [ 'S', 'O', 'M', 'E', 'R', 'A', 'N',

+1

http://stackoverflow.com/questions/4547609/how-do-you-get-a-string-to-a-character-array-in-javascript –

+1

보기 : https://developer.mozilla.org/ ko-ko/docs/웹/JavaScript/참조/Global_Objects/String/split –

관련 문제