메소드

김성욱·2022년 9월 28일
0

< 주의할 사항들 >

  • falsy한 값들
    - '', 0 , false, null, undefined,Nan
    - ex) Boolean(falsy) // false

  • for...of 와 for...in 차이
    - for...of : 배열 반복
    - for...in : 객체 반복

  • 정규 표현식
    - https://curryyou.tistory.com/234

  • +=연산자
    x = y         //         x = y
    x += y       //         x = x + y
    x -= y        //         x = x - y
    x *= y        //         x = x * y
    x **= y       //         x = x ** y
    x /= y        //         x = x / y
    x %= y       //         x = x % y

< charAt >

  • string.charAt(index)
  • 문자열에서 해당 인덱스의 문자열 반환

< every >

  • 배열 속의 모든 요소들이 주어진 함수를 통과 하는지 확인
  • false에 해당하는 요소를 만나면 false 리턴 후 함수 종료
  • ex)
    const isBelowThreshold = (currentValue) => currentValue < 40;
    const array1 = [1, 30, 39, 29, 10, 13];
    console.log(array1.every(isBelowThreshold));
    // expected output: true

< filter >

  • 배열 반환
  • 교집합
    arr1.filter(x => arr2.includes(x))
  • 차집합
    arr1.filter(x => !arr2.includes(x))

< find >

  • 주어진 판별함수를 만족하는 배열 속의 첫번째 요소의 값을 반환!
    인덱스나 위치를 찾을 때는 findIndes, indexOf 사용
    요소의 존재 유무 판단은 indexOf, includes 사용
  • 통과하는 요소를 만나면 값을 리턴 후 함수 종료

< flat >

  • Array.flat()
  • 다차원 배열을 1차원 배열로 만듬

< forEach >

  • array.forEach()
  • 각 요소를 오름차순 순으로 불러서 괄호안에 함수에 대입
  • array의 요소 중 빈값이 있을 경우 괄호안의 함수를 실행하지 않고 넘어감

< includes >

  • array.includes(값)
  • true, false 반환

< indexOf >

  • array.indexOf(값)
  • 찾는 값의 첫번째 원소의 index 반환, 없을 경우 -1 리턴

< isSafeInteger >

  • Number.isSafeInteger()
  • 괄호안의 값이 안정한 정수인지 판별하여 true, false 값을 리턴하는 Boolean

< join >

  • array.join()
  • 배열 안의 모든 요소를 연결해 문자열로 반환
  • 빈값을 입력하면 요소 사이에 ","를 입력
  • '' 값을 입력하면 요소를 모두 붙여서 입력

< map >

  • result = 배열.map((요소, 인덱스, 배열) => {return 요소});
  • 기존배열을 수정하지않고, 새로운 배열을 생성(result === 배열 /// false). 단, 배열 속의 객체는 공유
  • ex)
    	const a = [1,2,3]
        let result = a.map((v) => { return v+1;});
        result; //[2,3,4]

< match >

  • string.match()
  • 단어뿐만아니라 정규 표현식도 가능
  • 일치하는 패턴을 새로운 배열로 생성
  • ex)
    var test  = 'love you. love me. love everything!'
    var regExp = /love/gi;
    test2 = test.match(regExp);
    ['love', 'love', 'love']

< new Date >

  • new Date(year, monthIndex, day, hours, minutes, seconds, milliseconds)
  • 변수를 비우면 생성 순간 반영
  • 문자열로 반환

< parseInt >

  • parseInt(string, radix)

< reduce >

  • result = 배열.reduce((누적값, 현재값, 인덱스, 요소) => { return 결과}, 초기값);
  • return 값을 누적값으로 저장
  • reduceRight은 요소 순회를 오른쪽에서 부터
  • ex)
    result = a.reduce((acc, cur) => {
      acc.push(cur % 2 ? '홀수' : '짝수');
      return acc;
    }, []);
    result; // ['홀수', '짝수', '홀수']
    
    
    result = a.reduce((acc, cur) => {
      if (cur % 2) acc.push(cur);
      return acc;
    }, []);
    result; // [1, 3]

< replace >

  • string.replace()
  • 일치하는 일부 또는 모든 부분 교체
  • 정규식 객체 또는 리터럴은 모두 교체
  • 모든 문자열에 대해 바꾸려면 g플래그 포함 필요
  • ex)
    let str = 'apple, banana, orange, banana';
    let replaced_str = str.replace(/banana/g, 'tomato');
  • 글자그대로의 문자열은 첫번째만 교체
  • 패턴 정규식 가능!
  • 기존 문자열 유지, 새로운 문자열 생성
  • 문자열에서 숫자만 추출
    ex) str.replace(/[a-z]/gi,"");
  • 문자열에서 문자만 추출
    ex) str.replace(/[1-9]/g,"")

< reverse >

  • array.reverse()
  • 기존배열의 순서를 뒤집음

< Set >

  • set 객체는 자료형에 관계없이 원시값과 객체 참조 모두 유일한 값을 저장. 즉, Set 객체 내에는 중복되는 값이 없음
  • Set.size : 개체의 값 수를 반환
  • Set.add(value) : 개체에 value 추가,이미 있는 값이면 반환
  • Set.celar() : 모든 요소 제거
  • Set.delete(value) : value를 삭제하고 삭제 되었으면 boolean 값으로 true, 삭제되지 않았으면 false 반환
  • Set.has(value) : 값의 유무 판단, boolean 값
  • ex)
    ex) 배열 합집함
    arr = [...new Set([...arrA, ...arrB])];
    
    중복값 제거
    const newArr = Array.from(new Set(arr));
    
    ex)
    var mySet = new Set();<br/>
    mySet.add(1); // Set { 1 }
    mySet.add(5); // Set { 1, 5 }
    mySet.add(5); // Set { 1, 5 }
    mySet.add('some text'); // Set { 1, 5, 'some text' }
    var o = {a: 1, b: 2};
    mySet.add(o);
    
    mySet.add({a: 1, b: 2}); // o와 다른 객체를 참조하므로 괜찮음
    
    mySet.has(1); // true
    mySet.has(3); // false, 3은 set에 추가되지 않았음
    mySet.has(5);              // true
    mySet.has(Math.sqrt(25));  // true
    mySet.has('Some Text'.toLowerCase()); // true
    mySet.has(o); // true
    
    mySet.size; // 5
    
    mySet.delete(5); // set에서 5를 제거함
    mySet.has(5);    // false, 5가 제거되었음
    
    mySet.size; // 4, 방금 값을 하나 제거했음
    console.log(mySet);// Set {1, "some text", Object {a: 1, b: 2}, Object {a: 1, b: 2}}
    
    
    let myArray = ['value1', 'value2', 'value3'];
    
    // Array를 Set으로 변환하기 위해서는 정규 Set 생성자 사용
    var mySet = new Set(myArray);
    
    mySet.has('value1'); // true 반환
    
    // set을 Array로 변환하기 위해 전개 연산자 사용함.
    console.log([...mySet]); // myArray와 정확히 같은 배열을 보여줌

< slice >

  • arr.slice(begin, end)
  • 배열의 시작점부터 마지막 앞 값까지 추출(end 포함X)
  • end가 없으면 마지막 까지 추출
  • '-i'뒤에서 i번째 문자를 지칭

< some >

  • 배열 속의 요소들 중 하나라도 주어진 함수를 통과하면 true
  • ture에 해당하는 요소를 만나면 리턴 후 함수 종료
  • ex)
    const array = [1, 2, 3, 4, 5];
    // checks whether an element is even
    const even = (element) => element % 2 === 0;
    console.log(array.some(even));
    // expected output: true

< sort >

  • arr.sort()
  • 기존 배열을 바꿈
  • 함수 값을 생략하면 배열은 각 요소의 문자열 변환에 따라 각 문자의 유니코드 포인트 값에 따라 정렬(소문자 다음 대문자 순으로 정렬
  • 오름차순 정렬
    arr.sort(function(a, b) {
    return a - b;
    });

  • 내림차순 정렬
    arr.sort(function(a, b) {
    return b - a;
    });

< splice >

  • array.splice(start, deleteCount, item1, item2...)
  • 배열의 기존 요소를 삭제 또는 교체하거나, 새 요소를 추가
  • start의 index 값이 음수일 경우 뒤에서 부터 카운트 가능
  • deleteCount를 생략하면 start 부터 모든 요소 제거, 0이하라며 제거하지 않음
  • ex)
    const months = ['Jan', 'March', 'April', 'June'];
    months.splice(1, 0, 'Feb');
    // inserts at index 1
    console.log(months);
    // expected output: Array ["Jan", "Feb", "March", "April", "June"]
    months.splice(4, 1, 'May');
    // replaces 1 element at index 4
    console.log(months);
    // expected output: Array ["Jan", "Feb", "March", "April", "May"]

< split >

  • string.split(separator, limit)
    - separtator : 문자열, 정규식, ''
    - 문자열을 separator로 잘라서, limit 크기 이하의 배열에 저장하여 문자열로 리턴
    - separator에 빈값''를 입력하면 문자열 전체를 배열에 담아서 리턴

< toString >

  • obj.toString()
  • 문자열로 반환
  • 숫자를 변환할 경우 변수값에 진수값을 넣으면 해당 진수로 변환
profile
성욱

0개의 댓글