ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [TIL] 0102
    카테고리 없음 2024. 1. 2. 11:30

     

    let numbers = [1, 2, 3, 4, 5]

     

    콜백 함수 : 매개변수 자리에 함수를 넣는 것

     

    1) forEach : 배열 요소의 개수만큼 실행된다.

    numbers.forEach(function (이름) {

     console.log(이름);

    })

     

    2) map : 반드시 return 문이 필요하다. 기존에 있었던 배열을 가공해서 새로운 배열을 생산해 내는 역할

    원본 배열의 길이만큼 return 을 한다. 조건을 설정해주지 않으면 undefined 로 뜨더라도 원본 배열의 길이가 나온다.

     

    let newNumbers = numbers.map (function (item) {

        return item *2;

    }); 

    console. log(newNumbers)

    // [2, 4, 6, 8, 10]

     

    3) filter - 조건에 해당되는 값만 리턴을 한다.

    let filteredNumbers = numbers .filter (function (item) {

      return item >3;

     });

     

    console.log(filteredNumbers);

     

    4) find - 조건의 첫 번째 해당 값을 반환한다.

     

    let result = numbers .find (function (item) {

     return item >3;

    })

     

    console.log(result); // 4

     

    5) for , while - ~동안 , 반복문

     

    for (초기값; 조건식; 증감식;) {

    }

     

     

    for (let i = 0;  i<10;  i++){

     console.log(i);

    }

    // i 라는 변수는 0부터 시작하고, 10에 도달하기 전까지 반복하며, 한 싸이클이 돌고 나면 1을 더할 거야 라는 의미

     

    // 배열과 for 문은 짝꿍이다.

    const arr = ["one", "two", "three", "four", "five"];

    for (let i = 0; i<arr.length; i++) {

     console.log(i);

     console. log(arr[i]);

    }

     

    // 

    0

    one

    1

    two

    2

    three

    3

    four

    4

    five

     

    ex) 0~10 의 수 중에 2의 배수만 console. log 로 출력하는 예시

    for (let i = 0; i<11; i++) {

     if (i>=2){

      if(i%2 ===0) {

     console. log(i);

     }

    }

     

    6) for ~in문 - 객체의 속성을 출력하는 문법

     

    let person =  {

     name : "John",

     age : 30,

     gender : "male",

    };

     

    for (let key in person) {

     console. log(key + ":" + person[key]);

    }

     

    person[key] : person 의 value 값을 표현

     

     

    7) while

    let i = 0;

     

    while (조건) {

     // 메인 로직

     // 증감

    }

     

    while ( i<10 ) {

    console.log(i);

    i ++; //이 로직이 없으면 그냥 0으로 무한 반복, 빼먹으면 안됨 **

    }

     

    // while 문 활용, 3초과 100미만 숫자 중 5의 배수인 것만 출력하는 예시

     

    let i = 3;

    while (i<100) {

     if (i%5 === 0 && i>=5) {

     console.log (i + "는 5의 배수 입니다.") ;

     }

     i++;

    }

     

    8) do ~while 문

     

    let i = 0;

     

    do {

    console.log(i);

    i ++;

    } while (i>10); 

     

    9) break, continue 문 (for 문과 같이 쓰인다.)

     

    for ( let i = 0; i<10; i++) {

      if (i===5) {

      break;

      }

    console.log(i);

    }

     

    // 0 1 2 3 4 (5를 만나면 For 문을 stop 한다.)

     

    for ( let i = 0; i<10; i++) {

      if (i===5) {

      continue;

      }

    console.log(i);

    }

     

    // 0 1 2 3 4 6 7 8 9 (5를 만나면 다음 순서로 넘어간다.)

     

     

    문제 1..;;;


    //1. 대문자로 통일
    s = s.toUpperCase();

    //2. for문을 통해서 문자열의 요소 하나씩을 비교
    //2-1. p,y 의 비교
    var num = 0;

    for (var i=0; i<s.length; i++) {
    //여기에서 비교
    if(s[i] === 'P') {
    num++;
    }
    if(s[i] === 'Y') {
    num--;
    }
    }
    // 3. 개수 체크
    if (num === 0){
    answer = true;
    } else {
    answer = false;
    }

     

    대문자로 통일 하는 함수 toUpperCase() 을 이용하여 문자열의 모든 문자를 대문자로 출력한다.

    s[i] 값에서 P 가 존재할 경우 num = 0 에서 +1, 

    s[i] 값에서 Y 가 존재할 경우 num = 0 에서 -1, 

     

    p와 y가 같은 수일 경우 num 의 값은 0이 되므로 

    num === 0 일 경우에 true , 그 외의 경우에는 false 를 반환한다.

     

     

    문제 2...;;;;;

    //1.return 해야 하는 answer 생성
    var answer = 0;

    // 2. 두 배열을 비교해 가면서 값을 더하거나 빼줄 것
    // 2-1. 두 배열은 크기가 같음
    for (var i=0; i<absolutes.length; i++){
    //부호 (+,-) 에 따른 처리
    if (signs[i] === true){
    //값이 true 인 경우(양수)
    answer = answer + absolutes[i];
    } else if (signs[1] === false) {
    //값이 false 인 경우(음수)
    answer = answer - absolutes[i];
    }
    }

    answer 값을 0으로 선언

    값이 true 인 경우 +, false 인 경우 - 로 해서 계산

Designed by Tistory. KYW