codewars

# 문제 1

map 사용법 문제 _ Testing 1-2-3

문제 생략, 결과 예시만

1
2
number([]) // => []
number(["a", "b", "c"]) // => ["1: a", "2: b", "3: c"]

# 내 답변

1
2
3
4
5
var number=function(array){
return array.map((val, idx) => {
return `${idx+1}: ${val}`;
});
}

# map

  • 매개변수: arr.map(callback(currentValue[, index[, array]])[, thisArg])
    callback
    새로운 배열 요소를 생성하는 함수. 다음 세 가지 인수를 가집니다.
    currentValue
    처리할 현재 요소.
    index Optional
    처리할 현재 요소의 인덱스.
    array Optional
    map()을 호출한 배열.
    
    thisArg Optional
    callback을 실행할 때 this로 사용되는 값
    
  • 변환값: 배열의 각 요소에 대해 실행한 callback의 결과를 모은 새로운 배열.

# 문제 2

filter 사용법 문제 _ List Filtering

1
2
3
filter_list([1,2,'a','b']) == [1,2]
filter_list([1,'a','b',0,15]) == [1,0,15]
filter_list([1,2,'aasf','1','123',123]) == [1,2,123]

# 내답변

1
2
3
4
5
function filter_list(l) {
return l.filter(e => {
return typeof e === 'number';
})
}

# filter

  • 매개변수: arr.filter(callback(element[, index[, array]])[, thisArg])
    callback
    각 요소를 시험할 함수.
    true를 반환하면 요소를 유지하고,
    false를 반환하면 버립니다. 다음 세 가지 매개변수를 받습니다.
    element
    처리할 현재 요소.
    index Optional
    처리할 현재 요소의 인덱스.
    array Optional
    filter를 호출한 배열.
    
    thisArg Optional
    callback을 실행할 때 this로 사용하는 값.
  • 반환값: 테스트를 통과한 요소로 이루어진 새로운 배열. 어떤 요소도 테스트를 통과하지 못했으면 빈 배열을 반환합니다.

# 베스트 답변

1
2
3
function filter_list(l) {
return l.filter(Number.isInteger);
}

프론트 이론 다시보기

ToastUI - 성능 최적화

  • 레이아웃에 영향을 미치는 것들
  • 다운로드 -> 파싱 -> 스타일 -> 레이아웃(리플로우) -> 페인트 -> 합성
  • 레이아웃이 발생하면 실행 시간만큼 렌더링 시간도 늘어나게 된다. 불필요한 레이아웃을 경계하자.

thoughts

  • 기본개념을 우선으로 잡고 다시 봐야겠다.