[TIL]배열

박성진·2021년 1월 25일
0

배열

배열은 순서가 있는 값
순서는 인덱스라고 부르며, 1이 아닌 0부터 번호를 매기고 대괄호를 이용해서 배열을 만들고 각각의 요소 element)는 쉼표로 구분해줍니다.
값은 인덱스를 이용해 접근합니다.

n번째 인덱스 의 값을 변경하려면

let myNumber = [1, 2, 3, ,4, 5, 6];
myNumber[3] = 200;
myNUmber; // [1, 2, 3, 200 , 5, 6];

배열로 할 수 있는 것들: 길이를 알아낼 수 있습니다.

let myNumber = [1, 2, 3, 4];
myNumber.length; // 4  온점을 이용해서 변수가 가지고 있는 속성(property)에 접근할 수 있습니다.

배열로 할 수 있는 것들: 요소(element)를 추가할 수 있습니다.

let myNumber = [1, 2, 3, 4];
//myNumber라는 배열 끝에 5라는 값을 추가하려면
myNUmber.push(5); // 온점을 이용해서 관련된 명령(method라고 부릅니다)도 실행할 수 있습니다.명령을 실행할 때는, 함수르 실행하는 괄호를 열고 닫는 형태로 실행합니다.

배열로 할 수 있는 것들: 요소(element)를 삭제할 수 있습니다.

let myNumber = [1, 2, 3, 4];
// myNUmber라는 배열 마지막 값을 삭제하려면
myNumber.pop();

반복문을 이용해 배열의 요소(element)를 한번씩 출력하려면?

let myNum = [1, 2, 3, 4];
for(let i = 0; i < myNum.length; i++){
	console.log(myNum[i]);
}

배열인지 아닌지 확인하기

let words = ['피', '땀', '눈물']
Array.isArray()을 사용할 수 있다.
Array.isArray('문자열') // false
Array.isArray(123) // false
Array.isArray(words) // true
Array.isArray([1, 2, 3) // true
Array.isArray([]) // true

배열 요소 추가 및 삭제하기

let arr = [1, 2, 3]

arr.push(4) = index 마지막에 배열 요소를 추가
arr.pop() = index 마지막 배열 요소를 삭제
arr.unshift(4) = index 처음에 배열 요소를 추가
arr.shift() =  index 처음 배열 요소를 삭제

배열 요소 포함 여부 확인하기

let words = ['Radagast', 'the', 'Brown']
words.indexOf('the') // 1
words.indexOf('없는단어') // -1

배열안에 특정 엘리먼트가 존재하는지 아닌지

words.indexOf('Brown') !== -1   // true
words.indexOf('없는단어')  !== -1 //false

words.includes('Brown')  //true
words.includes('없는것')  //false

속성 정리

Array.isArray([1, 2, 3) // true 배열인지 아닌지를 확인
words.includes('없는것') //false 배열안에 특정 엘리먼트가 존재하는지를 boolean값으로 반환
arr.push(4) = index 마지막에 배열 요소를 추가
arr.pop() = index 마지막 배열 요소를 삭제
arr.unshift(4) = index 처음에 배열 요소를 추가
arr.shift() = index 처음 배열 요소를 삭제

splice() = 메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.(begin 부터 deleteCount만큼 삭제)

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];

var arr1 = arr.splice(3);
console.log(arr); // [1, 2, 3]
console.log(arr1); // [4, 5, 6, 7, 8, 9, 10, 11, 12]

var arr2 = arr1.splice(6, 4);
console.log(arr1); // [4, 5, 6, 7, 8, 9]
console.log(arr2); // [10, 11, 12]

var arr1 = arr.splice(5, 0, 'add');
console.log(arr); // [1, 2, 3, 4, 5, "add", 6, 7, 8, 9, 10, 11, 12]
console.log(arr1); // []

slice() = 어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다. 원본 배열은 바뀌지 않습니다.

const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];

console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]
console.log(animals.slice(2, 4));
// expected output: Array ["camel", "duck"]
console.log(animals.slice(1, 5));
// expected output: Array ["bison", "camel", "duck", "elephant"]

concat() = 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환합니다.

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);

console.log(array3);
// expected output: Array ["a", "b", "c", "d", "e", "f"]

split() = 문자열을 일정한 구분자로 잘라서 배열로 저장

const str = 'The quick brown fox jumps over the lazy dog.';

const words = str.split(' ');
console.log(words[3]);
// expected output: "fox"
const chars = str.split('');
console.log(chars[8]);
// expected output: "k"
const strCopy = str.split();
console.log(strCopy);
// expected output: Array ["The quick brown fox jumps over the lazy dog."]

join() : 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다.

const elements = ['Fire', 'Air', 'Water'];

console.log(elements.join());
// expected output: "Fire,Air,Water"
console.log(elements.join(''));
// expected output: "FireAirWater"
console.log(elements.join(' '));
// expected output: "Fire Air Water"
console.log(elements.join('-'));
// expected output: "Fire-Air-Water"

0개의 댓글