ygreenb
yellowgreenblue
ygreenb
전체 방문자
오늘
어제
  • TIL (130)
    • Algorithm & Data Structure (70)
      • 이론 (4)
      • 프로그래머스 (54)
      • 백준 (12)
    • JAVA (4)
    • Android Studio (9)
    • Database (1)
    • WEB (25)
      • HTML+CSS (7)
      • Javascript (5)
      • React (11)
      • Django (1)
      • Node.js (1)
    • Computer Vision (13)
    • Git (8)

블로그 메뉴

  • HOME
  • TAG
  • GITHUB

공지사항

인기 글

태그

  • HashMap
  • git
  • 프로그래머스
  • DP
  • 스택/큐
  • 백준
  • java
  • entrySet
  • getOrDefault
  • React
  • 코틀린
  • 해시
  • PriorityQueue
  • reactjs
  • stack
  • 프로그래머스 Lv.2
  • sort
  • git bash
  • 안드로이드
  • Android
  • BFS
  • Queue
  • 깃허브
  • greedy
  • dfs
  • compareTo()
  • Arrays.sort()
  • kotiln
  • 깃
  • Comparator

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ygreenb

yellowgreenblue

WEB/Javascript

[JS] 자바스크립트 배열(array)과 sort(), split() 함수

2022. 4. 11. 19:33

Array (배열) 선언

하나의 변수에 여러 값을 저장할 수 있음

let array = [1,2,3,4,5]
console.log(array[0])

array.push(6)
console.log(array)

array.length

 

Sort (정렬) 함수

자바 스크립트 배열의 내장 함수 sort()는 배열 안의 원소를 정렬하는 함수이다.

arrayobj.sort(sortFunction)

arrayobj는 임의의 Array 개체이다. sortFunction는 요소 순서를 결정하는 데 사용되는 함수의 이름이다. 생략하면 오름차순, ASCII 문자 순서로 정렬된다.

문자정렬

var fruit = ['orange', 'apple', 'banana'];

fruit.sort(); // apple, banana, orange

숫자 정렬

위처럼 문자는 정렬이 잘 되지만, 숫자를 정렬하기 위해서는 sortFunction 인수에 함수를 지정해줘야 한다.

sortFunction 인수에 함수를 지정하면 아래의 값 중 하나가 반환된다.

  • 첫 번째 인수가 두 번째 인수보다 작을 경우 -
  • 두 인수가 같을 경우 0
  • 첫 번째 인수가 두 번째 인수보다 클 경우 +
var score = [4, 11, 2, 10, 3, 1]; 

score.sort(); // 1, 10, 11, 2, 3, 4 
              // ASCII 문자 순서로 정렬되어 숫자의 크기대로 나오지 않음

/* 인수에 함수 추가 */
score.sort(function(a, b) { // 오름차순
    return a - b;
    // 1, 2, 3, 4, 10, 11
});

score.sort(function(a, b) { // 내림차순
    return b - a;
    // 11, 10, 4, 3, 2, 1
});

object 정렬

var student = [
    { name : "가", age : 33},
    { name : "다", age : 22},
    { name : "나", age : 11},
    { name : "라", age : 44}
]

/* 이름순으로 정렬 */
student.sort(function(a, b) { // 오름차순
    return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
    // 가, 나, 다, 라
});

student.sort(function(a, b) { // 내림차순
    return a.name > b.name ? -1 : a.name < b.name ? 1 : 0;
    // 라, 다, 나, 가
});

/* 나이순으로 정렬 */
var sortingField = "age";

student.sort(function(a, b) { // 오름차순
    return a[sortingField] - b[sortingField];
    // 11, 22, 33, 44
});

student.sort(function(a, b) { // 내림차순
    return b[sortingField] - a[sortingField];
    // 44, 33, 22, 11
});

 

Split

split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눈다.

const str = 'This is an example.';

const words = str.split(' ');
// 띄어쓰기 기준으로 나눔
console.log(words[3]);
// expected output: "example."

const chars = str.split('');
// 문자 기준으로 나눔
console.log(chars[8]);
// expected output: "a"

const strCopy = str.split();
// 아무 일도 일어나지 않는다
console.log(strCopy);
// expected output: Array ["This is an example."]
저작자표시 (새창열림)

'WEB > Javascript' 카테고리의 다른 글

[JS] 이벤트(Event)와 이벤트 핸들러(Event Handle)  (0) 2022.04.14
[JS] 노드(Node) 객체와 window 객체  (0) 2022.04.14
[JS] 자바스크립트와 DOM, HTML 요소 메소드  (0) 2022.04.14
[JS] 자바스크립트 변수 (var, let, const, scope)  (0) 2022.04.11
    'WEB/Javascript' 카테고리의 다른 글
    • [JS] 이벤트(Event)와 이벤트 핸들러(Event Handle)
    • [JS] 노드(Node) 객체와 window 객체
    • [JS] 자바스크립트와 DOM, HTML 요소 메소드
    • [JS] 자바스크립트 변수 (var, let, const, scope)
    ygreenb
    ygreenb
    개발공부기록장

    티스토리툴바