working with strings 3

Juyeon Lee·2022년 2월 16일
0
console.log('a+very+nice+string'.split('+'));

split를 써줬더니 +기준으로 나눠지고 그게 array에 담겨서
결과에 나온다.

['a', 'very', 'nice', 'string']

이렇게 스페이스로 나눠줄수도 있다.

console.log('Juyeon Lee'.split(' '));

이렇게 하면 결과는

['Juyeon', 'Lee']

이렇게 나온다...

const newName = ['Mrs', firstName, lastName.toUpperCase()].join(' ');
console.log(newName);

split와 반대되는 개념으로 이렇게 join을 이용해줄 수도 있다.
이렇게 하면 이런 결과 나옴

Mrs Juyeon LEE

사이 사이에 ' ' space가 join되는것!

const capitalzeName = function (name) {
  const names = name.split(' ');
  const namesUpper = [];

  for (const n of names) {
    namesUpper.push(n[0].toUpperCase() + n.slice(1));
  }
  console.log(namesUpper.join(' '));
};

capitalzeName('eva gaelle green');
capitalzeName('juyeon rosalie lee');

이 방법으로 앞글자만 대문자로 변경가능하고
다른 방법으로 아래와 같이 할 수도 있다.

const capitalzeName = function (name) {
  const names = name.split(' ');
  const namesUpper = [];

  for (const n of names) {
    namesUpper.push(n.replace(n[0], n[0].toUpperCase()));
  }
  console.log(namesUpper.join(' '));
};

capitalzeName('eva gaelle green');
capitalzeName('juyeon rosalie lee');

이건 replace를 이용해주었다...

다음으로 padding에 대해 알아보자...

padding a string
:to add a number of characters to the string until the string has a certain desired length.

const message = 'Go to gate 23!';
console.log(message.padStart(25, '+'));

padStart를 써주고 원하는 길이 25를 써준다음에
어떤걸로 채워줄지 써준다..여기서는 +으로 채워주기로 함..
이렇게 하면 결과는

+++++++++++Go to gate 23!

이렇게 나옴...총 25개의 글자가 된다.
마찬가지로

console.log('Jonas'.padStart(25, '+'));

이렇게 해줬을때 결과도

++++++++++++++++++++Jonas

이렇게 나옴...

const message = 'Go to gate 23!';
console.log(message.padStart(20, '+').padEnd(30, '+'));
console.log('Jonas'.padStart(20, '+').padEnd(30, '+'));

padEnd도 있는데 padStart이 20개니까 padEnd하면 10개의 +가
뒤에 붙여져서 나온다 ㅋㅋㅋ

const maskCreditCard = function (number) {
  const str = number + '';
  const last = str.slice(-4);
  return last.padStart(str.length, '*');
};

console.log(maskCreditCard(12312523432));

이건 실제로 사용할 수 있는건데
카드번호 앞에

***3456

이런식으로 나오는게 이걸로 하는가보다 ㅋㅋ신기방기
number랑 string이랑 더하면 string되니까

number + ''

이렇게 만들어주고
슬라이스로 뒤에서 숫자 네개까지 잘라준다음
padStart로 원래 str길이로 * 라고 해주면
맨 뒤에 네자리만 숫자로 나오고 앞은 별표 처리됨..
결과는 이렇게 나온다.

*******3432

다음은 repeat하는걸 배워보자
repeat이라는 단어처럼 같은 string을 반복해주는것..

const message2 = 'Bad weather...All departures Delayed...';
console.log(message2.repeat(5));

예를 들어 이렇게 코드가 있으면
결과는

Bad weather...All departures Delayed...Bad weather...All departures Delayed...Bad weather...All departures Delayed...Bad weather...All departures Delayed...Bad weather...All departures Delayed...

이렇게 출력된다 ㅎㅎㅎ
5번 반복해서 출력됨 ㅋㅋㅋ

이렇게 function으로도 repaet을 만들어 줄 수 있음

const planesInLine = function (n) {
  console.log(`There are ${n} planes in line ${'3'.repeat(n)}`);
};
planesInLine(5);
planesInLine(3);
planesInLine(12);

이것또한 결과가

코드를 입력하세요

There are 5 planes in line 33333
There are 3 planes in line 333
There are 12 planes in line 333333333333

이렇게 나오게 된다!!!

0개의 댓글