2016-06-09 3 views
-2

내가 예 3 (또는 n)에 대한이 가입 :항상 같은 길이, 같은 문자열을 여러 문자열

"abc       " 
"   xy     " 
"   xy ----    " 
"    ----    " 
"    ----  xcv  " 

에 이러한 문자열을 결합하는 가장 좋은 방법의 새로운 기능 : 사용

"abc  xy ----  xcv  " 
+0

코드에서이 문자열을 어떻게 사용할 수 있습니까? – phreakv6

+0

문자열이 배열에 있습니까? –

+1

"최고"란 무엇을 의미합니까? for 루프 안의 for 루프는 분명히 작동 할 것입니다, 맞습니까? –

답변

2

Array#reduceArray#forEach

var a = "abc       ", 
 
    b = "   xy     ", 
 
    c = "   xy ----    ", 
 
    d = "    ----    ", 
 
    e = "    ----  xcv  "; 
 

 
var res = [ 
 
    a.split(''), // split intosingle character array 
 
    b.split(''), 
 
    c.split(''), 
 
    d.split(''), 
 
    e.split('') 
 
].reduce(function(arr, v) { // iterate and generate character array 
 
    // iterate each array element and set arr value if non space character found 
 
    v.forEach(function(v1, i) { 
 
    if (v1.trim().length) 
 
     arr[i] = v1; 
 
    }) 
 
    // return updated array 
 
    return arr; 
 
// set initial value as an array of string size and fill it with ' '(space) 
 
}, new Array(a.length).fill(' ')).join(''); // join the result array to generate the string 
 

 
console.log(res);
과 같은 작업을 수행 할 수 있습니다

+0

주어진 열에 다른 문자가있는 경우 마지막 문자는 공백이 아닌 한 출력입니다. 훌륭한 해결책. –

+0

@TomBurris : 사용자 필요에 따라 달라질 수 있습니다. 코드별로 마지막 비 공백 문자가 나타납니다. –

+0

@PranavCBalan : 해결책에 감사드립니다. 좋아 보인다 – pumi