👨‍💻
프론트엔드 기술 블로그
  • 프론트엔드 기술 저장소
  • React
    • React Hook
      • useRef
      • useReducer
      • useCallback
      • useMemo
      • useState
      • useEffect
      • useContext
      • Custom Hook
  • Javascript
    • 자바스크립트 기본
      • 데이터타입
      • 배열메소드
      • 타입 및 객체 체크
      • this
        • bind, call, apply
      • 프로토타입
      • 클로저
      • 스코프
      • 함수
      • 호이스팅
    • ECMAScript 6
      • let, const
      • 화살표 함수
      • 구조분해할당
      • Promise
      • 템플릿 문자열 표현식
      • 이터레이션
      • 클래스 (Class)
      • 심볼 (Symbol)
      • 제너레이터
  • 객체지향설계
    • 객체 지향 설계 원칙
      • 단일 책임 원칙
      • 개방 폐쇄 원칙
      • 리스코프 치환 원칙
      • 인터페이스 분리 원칙
      • 의존 역전 원칙
  • 브라우저와 자바스크립트
    • Document Object Model
      • DOM API
      • 이벤트 (Event)
  • Node.js
    • 번들러
      • webpack 설정
    • node.js 버전 관리
  • HTTP
    • HTTP 기본
      • 1. 웹과 네트워크 기본
        • 1.1 웹은 HTTP로 나타낸다.
        • 1.2 HTTP 탄생과 성장
        • 1.3 네트워크 기본 TCP/IP
        • 1.4 HTTP와 관계가 깊은 프로토콜 IP/TCP/DNS
        • 1.5 이름 해결 담당 DNS
        • 1.6 각각과 HTTP와의 관계
        • 1.7 URI와 URL
      • 2. 프로토콜 HTTP
        • 2.1 HTTP는 클라이언트와 서버간에 통신을 한다.
        • 2.2 리퀘스트와 리스폰스를 교환하여 성립
        • 2.3 상태를 유지하지 않는 프로토콜 HTTP
        • 2.4 리퀘스트 URI로 리소스 식별
        • 2.5 HTTP 메소드
        • 2.6 메소드 사용
        • 2.7 지속연결로 접속량 절약
        • 2.8 쿠키를 사용한 상태관리
      • 3. HTTP 정보는 HTTP 메시지에 있다.
        • 3.1 HTTP 메시지
        • 3.2 리퀘스트 메시지와 리스폰스 메시지 구조
        • 3.3 인코딩으로 전송 효율을 높이다.
        • 3.4 여러 데이터를 보내는 멀티파트
        • 3.5 일부분만 받는 레인지 리퀘스트
        • 3.6 최적의 콘텐츠를 돌려주는 콘텐츠 네고시에이션
      • 4. 결과를 전달하는 HTTP 상태코드
        • 4.1 상태코드는 서버로부터 리퀘스트 결과를 전달한다.
        • 4.2 2xx 성공
        • 4.3. 3xx 리다이렉트
        • 4.4 4xx 클라이언트 에러
        • 4.5 5xx 서버 에러
      • 5. HTTP와 연계하는 웹 서버
        • 5.1 1대로 멀티 도메인을 가능하게 하는 가상 호스트
        • 5.2 통신을 중계하는 프로그램 : 프록시, 게이트웨이, 터널
      • 7. 웹을 안전하게 HTTPS
        • 7.1 HTTP의 약점
        • 7.2 HTTP+암호화+인증+완전성보호 = HTTPS
  • IDE
    • Webstorm
      • 웹스톰 단축키
      • 웹스톰 소스코드 특정폴더 검색 제외
  • GIT
    • Git 기초 명령어
Powered by GitBook
On this page
  • 자바스크립트 배열 메소드
  • Array.prototype.map (X)
  • Array.prototype.filter (X)
  • Array.prototype.reduce (X)
  • Array.prototype.some (X)
  • Array.prototype.every (X)
  • Array.isArray(배)
  • Array.prototype.flat (X)
  • Array.from (X)
  • Array.prototype.fill (O)
  • Array.prototype.sort (O)

Was this helpful?

  1. Javascript
  2. 자바스크립트 기본

배열메소드

자바스크립트 배열 메소드

자바스크립트에서 유용한 배열 메소드를 알아보자. 이 메소드들은 Array.prototype에 정의 되어 있다.

원본배열을 수정하면 (O) 수정하지 않으면(X) 표기

Array.prototype.map (X)

원본배열을 바꾸지않고 원본배열과 같은 길이의 새로운 배열을 반환한다. 주로 배열 길이만큼 순회 하거나 원본배열에 새로운데이터를 추가할때 사용한다.

const arr = [1, 2, 3, 4, 5];

const result = arr.map((value, index) => {
  return value + 'map'; 
});

console.log(result);
//  ["1map", "2map", "3map", "4map", "5map"]

Array.prototype.filter (X)

원본배열을 바꾸지 않고 이름그대로 배열의 값들을 필터할 수 있는 메소드이다. 순차적으로 배열을 순회하는데 콜백함수가 return 하는 값이 true 일 경우인 값들만 반환한다.말이 장황한데 [1,2,3]인 배열중 원하는 값만 리턴하고 싶을때 쓰인다.

const arr = [1, 2, 3];

const result = arr.filter((value) => {
  return value === 3;
});

console.log(result); // [3]

객체배열인 경우

const arr = [{
  name: 'A'
}, {
  name: 'B'
}, {
  name: 'C'
}];

const result = arr.filter((value) => {
  return value.name === 'A';
});

console.log(result); // {name:'A'}

Array.prototype.reduce (X)

단어 뜻 그대로 배열을 줄여가며 값을 추출할때 이용할 수 있다.

const arr = [{
  name: 'A'
}, {
  name: 'B'
}, {
  name: 'C'
}];

const result = arr.reduce((preValue, curValue, index) => {
  return preValue + curValue.name;
}, ''); //초기값

console.log(result); //ABC

reduce 첫번째 파라미터는 콜백함수 두번째 파라미터는 preValue 초기값이다. 콜백함수 return 값이 preValue 다음 값으로 할당된다.

위의 실행 순서를 설명하면

  1. '' + 'A' -> return 'A'

  2. 'A' + 'B' -> return 'AB'

  3. 'AB'+'B' -> return 'ABC'

Array.prototype.some (X)

단어에서 풍기는 느낌대로 콜백 함수내의 조건들이 배열의 요소 중 한가지 경우라도 만족하는지 판단하고 boolean으로 반환한다. 예를 들어 임의의 숫자배열이 있고 음수가 하나라도 존재하는지 확인하고 싶다면 아래예제로 간단히 확인가능하다.

const arr = [7, 4, 8, 4, 3, -1];

const result = arr.some((value) => {
  return value < 0; //배열 요소 중 하나라도 0 이하인가?
});

console.log(result); //true

Array.prototype.every (X)

위와 비슷한 함수이며 단지 배열의 요소들이 조건에 모두 만족하는지 판단한다. 배열의 임의의 숫자들이 모두 양수인지 확인하는 예제

const arr = [7, 4, 8, 4, 3, -1];

const result = arr.every((value) => {
  return value > 0; //배열의 모든 요소가 0 이상인가?
});

console.log(result); //false

Array.isArray(배)

배열인지 판별하는 메소드

console.log(Array.isArray([])); //true
console.log(Array.isArray([1])); //true
console.log(Array.isArray(new Array(1,2,3))); //true

Array.prototype.flat (X)

배열의 중첩배열을 펼치는? 메소드이다. flat 인자는 펼치는 깊이를 입력한다.

const arr = [1,2,[3,4,[5,6]]];
console.log(arr.flat()); //[1, 2, 3, 4, [5, 6]]
console.log(arr.flat(1)); //[1, 2, 3, 4, [5, 6]]

console.log(arr.flat(2)); //[1, 2, 3, 4, 5, 6]
console.log(arr.flat(Infinity)); //[1, 2, 3, 4, 5, 6]

Array.from (X)

유사배열이나 이터러블객체를 복사해 배열을 만든다.

function func() {
  console.log(arguments[0]); //1 index 접근
  console.log(Array.isArray(arguments)); //false

  /*   arguments.map((value) => { //없는 map 메서드
      return value;
    }); 
    */

  Array.from(arguments).map((value) => { //배열로 변환 후 map 사용가능
    console.log(value); //1,2,3
  });

}

func(1, 2, 3);

Array.prototype.fill (O)

정적인 값 하나를 배열 요소 값으로 채운다. 배열을 임의로 만들고 값을 채울때 쓰면된다..

const arr = new Array(100);
console.log(arr); //[undefined...] 100개
arr.fill(1);
console.log(arr); //[1...] 100개

Array.prototype.sort (O)

배열의 요소를 정렬한다.

const arr = [3,1,2,5,2];
console.log(arr.sort()); //[1, 2, 2, 3, 5]
console.log(arr); //[1, 2, 2, 3, 5]

기본적으로 오름차순 정렬한다.

sort 인자로 비교 함수를 정의할 수 있다.

const arr = [3, 1, 2, 5, 2];

function asc(a, b) {
  return a - b;
}

function desc(a, b) {
  return b - a;
}

console.log(arr.sort(asc)); //[1, 2, 2, 3, 5]
console.log(arr.sort(desc)); //[5, 3, 2, 2, 1]

비교함수 반환값이

음수이면 a가 b 앞에 양수이면 a가 b 뒤로 0이면 그대로

규칙으로 정렬한다.

Previous데이터타입Next타입 및 객체 체크

Last updated 2 years ago

Was this helpful?