문제점
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('');
찐 모범답안에는 다음과 같이 기술되었는데, 두 코드가 다른 기능을 하는 것일까요.?
아니면, 제가 우연으로 얻어걸린..(?)것일까요.?
'🚨 Error > JavaScript' 카테고리의 다른 글
[JavaScript] 사용자가 입력한 문자열을 배열에서 삭제하기 (0) | 2021.04.18 |
---|---|
[JavaScript] 사용자가 입력한 값을 배열에 차곡 차곡 담기 (0) | 2021.04.18 |
[JavaScript] 배열 | 제시되어 있는 값인(ex. 고양이)를 입력해도 "존재하지 않습니다."라는 문구가 출력된다. (0) | 2021.04.17 |
[JavaScript] 간이 계산기 만들기 (0) | 2021.04.16 |
[JavaScript] 이가 없으면 잇몸으로 | split 구분자를 이용해서 배열을 생성하고 출력하기 (0) | 2021.04.16 |
댓글