코딩테스트 메모

thgus·2024년 5월 31일
0

javascript

목록 보기
4/6

1.정수변환

  • Math.floor() : 소숫점을 내림한다 (음수의 경우 발생)
  • Math.trunc() : 소숫점 이하 수를 없애고 싶을 때 사용
  • ~~연산자(double.tilde:not) : . double tilde: not의 기능을 하는 비트 연산자이다. 10진수 5(16비트 2진수 0000000000000100)에 tilde를 적용하면 -6(16비트 2진수 1111111111111011) 이며 이 과정에서 소수점은 버려지게 된다. -6에 다시 tilde를 적용하면(double tilde, ~~5라고 표기) 다시 정수 5로 돌아오게 되어 결과적으로 Math.floor()와 같은 기능을 하게 된다. 이는 특정 브라우저에서 Math.floor()나 parseInt보다 빠른 퍼포먼스를 보여줄 수 있으나, 유지보수하는 사람의 입장에서 문맥의 이해에 어려움이 있을수 있다.
  • parseInt : 소숫점을 버리고 정수값만 반환. 음수일 경우 같은 수에 다른 결과가 나올 수 있어서 주의해야함.

2. 배열 증가

  1. reduce() : reduce는 배열을 하나의 값으로 축소하는 데 사용됩니다. 주어진 함수는 배열의 각 요소에 대해 호출되며, 이전 호출의 결과가 다음 호출로 전달됩니다.

    1. arr.reduce(callback[,initialValue])
      ex) numbers.reduce((a,b) => [...a,b 2],[]);
    • 다음 4가지의 인수
      1. accumulator : accumulator는 callback함수의 반환값을 누적합니다.
      2. currentValue - 현재 배열의 요소
      3. index(Optional) - 배열의 현재 요소의 인덱스
      4. array(Optional) - 호출한 배열
      -callback함수의 반환 값은 accumulator에 할당되고 순회 중 계속 누적되어 최종적으로 하나의 값을 반환합니다.
    1. initialValue(Optional)
    • 최초 callback함수 실행 시 accumulator. 인수에 제공되는 값. 초기값을 제공하지 않을 경우 배열의 첫 번째 요소를 사용하고, 빈 배열에서 초기값이 없을 경우 에러가 발생
  2. map() : map은 배열의 각 요소에 대해 주어진 함수를 호출하고, 그 결과를 새로운 배열로 반환합니다. 원본 배열은 변하지 않습니다.

※ map은 변환, reduce는 축소를 위해 사용되기 떄문에 목적에 맞게 사용할 것. 단순한 변환 이상으로 더 복잡한 작업을 수행할 경우 reduce가 더 강력하다.

  1. for()
  • for ([초기문]; [조건문]; [증감문]){
    문장
    }
// 예시
function howMany(selectObject) {
    var numberSelected = 0;
    for (var i = 0; i < selectObject.options.length; i++) {
      if (selectObject.options[i].selected) {
        numberSelected++;
      }
    }
    return numberSelected;
  }
profile
어쩌다보니IT

0개의 댓글