#6. 배열 정리 (JavaScript)

qwerzxcvss·2020년 10월 10일
0

What is the array of javascript?

배열은 프로토타입으로 탐색과 변형 작업을 수행하는 메서드를 갖는, 리스트와 비슷한 객체이다.

MDN참조
w3schools.com참조

배열의 쓰임

  1. 배열의 항목들을 순환하며 처리하기
(1)
let numbers = [3, 4, 2, 1];
numbers.forEach(function (item, index, array) {
	console.log(item, index)
})
(2)
var numbers = [65, 44, 12, 4];
numbers.forEach(myFunction)

function myFunction(item, index, arr) {
  arr[index] = item * 10;
}
console.log(numbers); // 650,440,120,40
  1. 배열 끝에 항목 추가하기
let answer = [5];
numbers.push(answer);
console.log(numbers); // [3, 4, 2, 1, 5]
  1. 배열 끝에서부터 항목 제거하기
let last = numbers.pop(); // 끝에있던 5를 제거 [3, 4, 2, 1]
  1. 배열 앞에 항목 추가하기
let newLength = numbers.unshift(5); // [5, 3, 4, 2, 1]
  1. 배열 앞에서부터 항목 제거하기
let first = numbers.shift(); // [3, 4, 2, 1]
  1. 배열 안 항목(숫자)의 인덱스 찾기
let ind = numbers.indexOf(4); // 1
let what = numbers.indexOf(7); // -1 (배열에 없는 값(항목)을 넣으면 -1 반환 유용함)

인스턴스 메서드 (Instance method)

변경자 메서드

Array.prototype.copyWithin()
배열 내의 지정된 요소들을 동일한 배열 내에서 복사합니다.
Array.prototype.fill()
배열 안의 시작 인덱스부터 끝 인덱스까지의 요소값을 지정된 정적 값으로 채웁니다.
Array.prototype.pop()
배열에서 마지막 요소를 뽑아내고, 그 요소를 반환합니다.
Array.prototype.push()
배열의 끝에 하나 이상의 요소를 추가하고, 변경된 배열의 길이를 반환합니다.
Array.prototype.reverse()
배열의 요소 순서를 반전시킵니다. 첫 번째가 마지막이 되고 마지막이 첫 번째가 됩니다.
Array.prototype.shift()
배열에서 첫 번째 요소를 삭제하고 그 요소를 반환합니다.
Array.prototype.sort()
배열의 요소를 정렬하고 그 배열을 반환합니다.
Array.prototype.splice()
배열에서 요소를 추가/삭제합니다.
Array.prototype.unshift()
배열의 앞에 하나 이상의 요소를 추가하고 새로운 길이를 반환합니다.

접근자 메서드

Array.prototype.concat()
배열을 매개변수로 주어진 배열/값과 이어붙인 새로운 배열을 반환합니다.
Array.prototype.filter()
지정한 콜백의 반환 결과가 true인 요소만 모은 새로운 배열을 반환합니다.
Array.prototype.includes()
배열이 주어진 값을 포함하는지 판별해 true 또는 false를 반환합니다.
Array.prototype.indexOf()
배열에서 주어진 값과 일치하는 제일 앞의 인덱스를 반환합니다. 없으면 -1을 반환합니다.
Array.prototype.join()
배열의 모든 요소를 문자열로 합칩니다.
Array.prototype.lastIndexOf()
배열에서 주어진 값과 일치하는 제일 뒤의 인덱스를 반환합니다. 없으면 -1을 반환합니다.
Array.prototype.slice()
배열의 일부를 추출한 새 배열을 반환합니다.
Array.prototype.toSource()
지정한 배열을 나타내는 배열 리터럴을 반환합니다. 새로운 배열을 만들기 위해 이 값을 사용할 수 있습니다. Object.prototype.toSource()
메서드를 재정의합니다.
Array.prototype.toString()
배열과 그 요소를 나타내는 문자열을 반환합니다.
Object.prototype.toString()
메서드를 재정의합니다.
Array.prototype.toLocaleString()
배열과 그 요소를 나타내는 지역화된 문자열을 반환합니다. Object.prototype.toLocaleString()
메서드를 재정의합니다.

순회 메서드

Array.prototype.entries()
배열의 각 인덱스에 대한 키/값 쌍을 포함하는 새로운 배열 반복자 객체를 반환합니다.
Array.prototype.every()
배열의 모든 요소가 주어진 판별 콜백을 만족할 경우 true를 반환합니다.
Array.prototype.find()
주어진 판별 콜백을 만족하는 첫 번째 요소를 반환합니다. 만족하는 요소가 없으면 undefined를 반환합니다.
Array.prototype.findIndex()
주어진 판별 콜백을 만족하는 첫 번째 요소의 인덱스를 반환합니다. 만족하는 요소가 없으면 undefined를 반환합니다.
Array.prototype.forEach()
배열의 각각의 요소에 대해 콜백을 호출합니다.
Array.prototype.keys()
배열의 각 인덱스에 대한 키를 가지는 새로운 배열 반복자 객체를 반환합니다.
Array.prototype.map()
배열의 모든 요소 각각에 대하여 주어진 콜백 함수를 호출하고, 그 반환값을 모은 새로운 배열을 반환합니다.
Array.prototype.reduce()
주어진 콜백 함수를 가산기와 요소 각각에 대해 왼쪽에서 오른쪽으로 호출하여 하나의 값으로 줄인(reduce) 결과를 반환합니다.
Array.prototype.reduceRight()
주어진 콜백 함수를 가산기와 요소 각각에 대해 오른쪽에서 왼쪽으로 호출하여 하나의 값으로 줄인(reduce) 결과를 반환합니다.
Array.prototype.some()
배열의 어떤 요소가 주어진 판별 콜백을 만족할 경우 true를 반환합니다.
Array.prototype.values()
배열의 각 인덱스에 대한 값을 가지는 새로운 배열 반복자 객체를 반환합니다.
Array.prototype@@iterator
배열의 각 인덱스에 대한 값을 가지는 새로운 배열 반복자 객체를 반환합니다.

2차원 배열 생성

let board = [
['R','N','B','Q','K','B','N','R'],
['P','P','P','P','P','P','P','P'],
[' ',' ',' ',' ',' ',' ',' ',' '],
[' ',' ',' ',' ',' ',' ',' ',' '],
[' ',' ',' ',' ',' ',' ',' ',' '],
[' ',' ',' ',' ',' ',' ',' ',' '],
['p','p','p','p','p','p','p','p'],
['r','n','b','q','k','b','n','r'] ]

배열을 사용하여 일련의 값을 테이블처럼 표시하기

const values = []
for (let x = 0; x < 10; x++){
values.push([
2 ** x,
2 * x ** 2
])
}
console.table(values)

결과는 다음과 같습니다.
index
0 1 0
1 2 2
2 4 8
3 8 18
4 16 32
5 32 50
6 64 72
7 128 98
8 256 128
9 512 162

profile
Frontend Developer

관심 있을 만한 포스트

0개의 댓글