• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 Narrowing Assert 숙제1 질문있습니다.

Narrowing Assert 숙제1 질문있습니다.

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #69282

    배상현
    참가자
    현재 리액트강의 무사히 수강후 프로젝트에 적용 마친후
    다음 프로젝트에서 타입스크립트를 사용해보고 싶어 공부중인 교육생입니다.
    숙제 1관해서 질문하려다가 자바스크립트 map함수특성을 알게되어서 제가 생각한것이 맞는지 물어보고 싶어요
    ```
    var changed = function (nums) {
      return nums.map(function (num) {
        if (typeof num === "string") {
          var a = Number(num);
          return Number(num);
        } else {
          return num;
        }
      });
    };
    console.log(changed([123, "3", "5", 12]));
    ```
    원래 이렇게 하기전에
    ```
    const change = (nums : (string | number)[]) => {
    	nums.map((num)=> {
    		if(typeof(num) === string) {
    			return Number(num)
    		} else {
    			return num
    		}
    	})
    	return nums
    ```
    이렇게 했었는데 클리닝이 되지않은 상태가 콘솔에 찍히더라고요
    검색해보니깐 map 메서드 사용시 기존배열의 변화 없이 새로운 배열에 만들어준다는거같은데
    그래서 위의 코드는 새로운 배열을 바로 return 시켜줘서 콘솔로그에 클리닝 된 값이 찍히는거구
    아래 코드는 기존배열에 map을 돌리기만 했지 따로 반환된 배열을 저장안해줘서 
    아래에 return시 클리닝 전의 배열이 출력되는것이 맞나요?
    
    ```
    const changed = (nums: (string | number)[]) => {
      const newNums: number[] = nums.map((num) => {
        if (typeof num === "string") {
          let a: number = Number(num);
          return Number(num);
        } else {
          return num;
        }
      });
      return newNums;
    };
    ```
    요렇게 하니깐 클리닝된 배열이 나오던데 제 생각이 맞는지 물어보고 싶습니다.
    #69317

    codingapple
    키 마스터
    map은 연산결과를 그 자리에남겨줘서 변수에 저장해서 써야합니다
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠