Array

서민수·2023년 8월 28일
0

자바스크립트

목록 보기
19/25

배열

  • 여러 개체값을 순차적으로 나열한 자료 구조(알고리즘 내 사용 빈도 多)
  • 배열 내 값을 요소라고 하며, 배열 요소는 index로 접근
  • 대표 속성과 메서드

    배열 크기 및 배열 여부 확인: Array.length, Array.isArray()
    배열 추가/삭제: Array.push(), Array.pop(), Array.shift(), Array.unshift(), Array.splice(), Array.slice()
    배열 탐색: Array.indexOf(), Array.lastIndexOf(), Array.includes()
    배열 변형(callback 미사용): Array.sort(), Array.reverse(), Array.join

배열 선언/접근/속성

  • 선언: new Array() 혹은 [ ]를 통해 선언하며,사이즈 혹은 값을 입력하여 초기화도 가능
  • 접근 방법: Array[index]를 통해 index를 통하여 O(1)접근
  • 배열 속성: Array.length를 통해 배열 요소의 개수 확인 가능
let arr_1 = new Array(10);
let arr_2 = [];

console.log(arr_1); // output : [ 10 empty items ]
console.log(arr_2); // output : []

let fruits= ["apple", "orange", "melon"];
console.log(fruits); // output : "apple","melon"
console.log(fruits.length); // output : 3

fruits[1] = "kiwi";
console.log(frutis); // output: apple kiwi melon

배열의 실체

  • 자바스크립트에서 배열은 다른언어에서 말하는 일반적인 배열이 아닌 Hash 기반의 객체
  • 메모리가 연속적인 밀집 배열(dense array)가 아닌 비연속적인 희소 배열(sparse array)
let nums = [];

nums[0] = "one";
nums[1] = "two";
console.log(nums.length); // 2


nums["once"] = "once"; // 문자열로도 추가할 수 있음
nums["twice"] = "twice"; 

console.log(nums); // output: one, two, once: once, twice: twice

배열 타입 확인 및 요소 삭제

배열 타입 확인

  • 배열 타입 확인 방법: Array.isArray(value)
let num = 123.456;
let str = "Here I am!";
let fruits = ["apple", "orange", "melon"];

console.log(Array.isArray(num)); // output: false
console.log(Array.isArray(str)); // output: false
console.log(Array.isArray(fruits)); // output: true

배열 요소 삭제

  • 배열 일부 요소 삭제: delete array[index] (삭제해도 배열 사이즈가 그대로인 문제점)
let fruits = ["apple", "orange", "melon"];

console.log(fruits); // output: [ 'apple', 'orange', 'melon']
console.log(fruits.length); // output: 3

delete fruits[1];
console.log(fruits); // output: [ 'apple', <1 empty item>, 'melon' ] 
console.log(fruits.length); // output 3
profile
안녕하세요

0개의 댓글