[JavaScript] 문자열을 쪼개고, 역순으로 담기

    문제점

    split()후 reverse()를 했으나, ","이 포함되어 출력된다.

     

    나의 로직

    1. split()으로 조각조각 떼서 

    2. reverse() 뒤집는다.

     

    느낌은 좋았다..

    하지만..

     

    왜/..  힘겹게 쪼갰는데 ,로 붙니..ㅎ

     

     

    전체코드

    	<script>
            function test1(){
    
                var area1 = document.getElementById("area1");
                var str1 = document.getElementById("stringla1").innerHTML.split(" ");
                var str2 = document.getElementById("stringla2").innerHTML.split(" ");
    
                console.log(area1);
                console.log(str1);
                console.log(str2);
    
                area1.innerHTML += str1.reverse() + str2.reverse();
    
            }
        </script>
    

     

    잘 기술했다고 생각했는데.. 뭐가 문제였을까?

     

    console.log(str1)과 console.log(str2)는 각각 원하는 결과값이 나왔다. 

    그렇다면, area1.innerHTML += str1.reverse() + str2.revers(); 이 구문에서 놓친 게 있는 것 같다. 

    위의 코드는 str1과 str2를 뒤집은 값들을 area1의 innerHTML에 대입할 목적으로 기술했다.

     

    그렇다면 area1.innerHTML에 직접 기술하는 것이 아닌 각각의 변수를 설정해서 뒤집어 보자.

    (== 단계를 쪼개보자)

     

    정상적으로 확인된다.

     

    두 배열을 연결하는 방법 = concat을 이용하자!

     

    되긴 되는데...흠...

     

     

    그럼 도대체 무엇이 문제일까.. . ..  왜 ,이 계속 나올까...

    그것은 바로 join을 하지 않았기 때문이다..! 

     

     

    모범답안

        <script>
            function test1(){
    
                var area1 = document.getElementById("area1");
    
                var str1 = document.getElementById("stringla1").innerHTML.split(" ");
                var str2 = document.getElementById("stringla2").innerHTML.split(" ");
    
                var data1 = str1.reverse();
                var data2 = str2.reverse();
    
                var arr = data1.concat(data2);
    
                console.log(data1);
                console.log(data2);
                console.log(arr);
    
                area1.innerHTML = arr.join('');
    
            }
        </script>

     

     

     

     

    나의 로직에서 보완할 점

    1. split()으로 조각조각 떼서 각각의 변수를 선언한 뒤  reverse()로 뒤집는다

    2. 두 배열을 새로운 변수에 concat()으로 합쳐준다.

    3. join()를 활용해서 구분자를 제시한 다음 하나의 문자열로 반환한다. 

     


     

    궁금한점..!

     

    찐 모범답안

                //var str = arr.join('');
                //document.getElementById("print").innerHTML = str;
                document.getElementById("print").innerHTML = arr.join('');
    

     

    내가 기술한 모범답안(이라고 생각한 코드..)

    area1.innerHTML = arr.join('');

     

    찐 모범답안에는 다음과 같이 기술되었는데, 두 코드가 다른 기능을 하는 것일까요.?

    아니면, 제가 우연으로 얻어걸린..(?)것일까요.? 

    728x90

    댓글