Jun 개발노트

Change Hexa to RGB

2020-08-21

RGB Color

  1. 이해

    • 2자리씩 16진수로 바꿔, 문자열로 리턴
  2. 계획

    • reduce를 활용하여 문자열로 만들어주자
  3. 실행

    describe('RGB color', () => {
        it('최종', () => {
          expect(makeRGB(255,0,0)).toBe('000000');
    
       });
    });
    
    const makeRGB = (...arg) => {
     return arg.reduce((acc, cur) => {
       let hex;
       if(cur < 1){
        return acc += '00';
       }
    
       if(cur > 255) {
          cur = 255;
       }
    
       hex = cur.toString(16).toUpperCase();
       return acc += hex.length > 1 ? hex : "0" + hex;
     }, '')
    }
    
  4. 반성

    • 매개변수로 들어오는 것을 처음에는 배열을 만들어서 사용했지만, rest연산자를 활용하여 배열로 쉽게 만들 수 있었다.
    • 예외조건을 미리 확인하지 못하여 처음부터 분기를 많이 작성하였는데 리펙토링으로 라인을 줄일 수 있엇다.