[Javascript] .join() method는 어디까지 join해 줄 수 있을까?
예제 코드를 짜다 보니까 좀 미진한 부분이 보여서 수정을 하려고 한다.
input이 capitalized 되어 있으면 비교가 어려울 것 같아서 vowels[j]와 비교할 때 소문자로 만들어서 비교하려고 한다
const input = 'turpentine and turtles';
const vowels = ['a', 'e', 'i', 'o', 'u'];
const resultArray = [];
for(let i = 0; i < input.length; i++) {
for(let j = 0; j < vowels.length; j++) {
if(input[i].toLowerCase() === vowels[j]) { // tolowercase 수정
if(input [i] === 'u' || input [i] === 'e') {
resultArray.push(input[i]);
}
resultArray.push(input[i]);
}
}
}
let resultString = resultArray.join('').toUpperCase();
console.log(resultString);
그래봤자 코드 한 줄 추가한 거지만...
.join() method를 새롭게 알게 되었다.
기본값은 comma로 array의 element 들을 string으로 join해 주는 것이지만 separator는 내 마음대로 설정할 수 있다.
위에서도 .join('')을 써서 모든 element들이 하나의 string으로 합쳐지게 만들었땅
음 뭐 또 궁금한 게 있었는데
아맞다 그러면 array에 숫자가 있어도 string으로 합쳐 주는 걸까?
내친 김에 그냥 다 넣어 봤는ㄷㅔ 엥 근데 자바스크립트 데이터 타입 일곱 갠데?? 뭐지
애초에 일곱 개가 맞긴 했던 것일까
https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures
JavaScript의 타입과 자료구조 - JavaScript | MDN
모든 프로그래밍 언어에는 내장된 자료구조가 존재하지만 보통 그 내용은 언어마다 다릅니다. 이 글에서는 JavaScript에서 사용할 수 있는 내장 자료구조와 그 속성에 대해 알아보겠습니다. 그러
developer.mozilla.org
Boolean 타입
Null 타입
Undefined 타입
Number 타입
BigInt 타입
String 타입
Symbol 타입
이렇게 일곱 개라는데...
object 원시 값 안에서는 일곱 개가 맞긴 한데 bigint랑 symbol은 뭔지 잘 모르겠다ㅋㅋㅋㅋㅋㅋㅋㅋ
근데 강의에서 아직 symbol은 몰라도 된다고 했으니까 bigint랑 number가 뭐가 다른지만 한번 스르륵 보아야겠다
읽고 왔는데 이해되는 건 bigint가 number보다 큰 값을 포함한다는 것밖에 없다... (+) NaN도 넘버에 포함된다는 것...?
암튼 궁금증은 해결되었다
값이 있으면 그냥 그대로 표현되고 null이나 undefined 처럼 비어 있으면 array에도 join이 안 되는 모양!
데이터 타입은 나중에 코드 짜다 보면 분명히 다시 돌아오게 될 것이기 때문에 지금은 일단 배우고 있는 것에 집중하기...(별)