본문 바로가기
패스트캠퍼스/수업내용정리

2019-05-17 수업 내용정리(배열)

by sunnykim91 2019. 5. 17.

배열

 

배열은 0번부터이다.

배열의 마지막은 length -1 이다.

배열의 type은 Object이다.

 

var arr = [];
console.log(arr[0]); // undefined

arr[1] = 1;
arr[3] = 3;

console.log(arr); // (4) [empty, 1, empty, 3]
console.log(arr.lenth); // 4

 

배열은 기본적으로 연속적으로 값을 가지고 있어야한다. (하지만 , 문법적으로 체크해주지는 않음.)

arr.length는 마지막요소를 기준으로 +1

 

var numbersArr = ['zero', 'one', 'two', 'three'];

// 요소의 값만 삭제된다
delete numbersArr[2]; // (4) ["zero", "one", empty, "three"]
console.log(numbersArr);

// 요소 값만이 아니라 요소를 완전히 삭제한다
// splice(시작 인덱스, 삭제할 요소수)
numbersArr.splice(2, 1); // (3) ["zero", "one", "three"]
console.log(numbersArr);

delete는 쓰지 않는다.

 

배열은 for문으로 순회하는게 기본이고, 가장 빠르다. 

하지만, for문을 가급적 쓰지 않는 추세이다. 가독성 떄문에!

for each나 for of문을 쓰는게 좋다.

 

indexOf

var arr = [1, 2, 2, 3];
console.log(arr.indexOf(2));    // 1
console.log(arr.indexOf(4));    // -1
console.log(arr.indexOf(2, 2)); // 2를 첫번째부터가아닌 인덱스 2부터 찾기 시작

// 요소 존재 여부 확인
var foods = ['apple', 'banana', 'orange'];

// foods 배열에 'apple' 요소가 존재하는지 확인
if (foods.indexOf('apple') !== -1) {
  // foods 배열에 'apple'이 포함되어 있는 경우의 처리
}

// ES7: Array.prototype.includes
if (foods.includes('apple')) {
  // foods 배열에 'apple'이 포함되어 있는 경우의 처리
}

 

반응형