[TIL 12] javascript | 다양한 배열 메소드

sunny·2021년 2월 27일
0
post-thumbnail

Array.isArray()

인자가 Array인지 판별한다.

Array.isArray([1, 2, 3]);  // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar');   // false
Array.isArray(undefined);  // false

배열이라면 true를, 배열이 아니라면 false를 반환한다.


concat()

배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환한다.

const arr1 = ['a', 'b', 'c'];
const arr2 = ['d', 'e', 'f'];
const resultArr = arr1.concat(arr2);

console.log(resultArr);

결과

(6) ["a", "b", "c", "d", "e", "f"]

every()

배열 안의 모든 요소가 주어진 판별 함수를 통과하는지 테스트한다.

const arr  = [1, 5, 7, 10, 13, 16];

console.log(arr.every((value) => value < 20)); //true

some()

배열 안의 어떤 요소라도 주어진 판별 함수를 통과하는지 테스트한다.

const arr  = [1, 5, 7, 10, 13, 16];

console.log(arr.some((value) => value < 10)); //true

fill()

배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채운다.

const arr = Array(5);
arr.fill(1) // [1,1,1,1,1]

includes()

배열이 특정 요소를 포함하고 있는지 판별한다.

const fruit = ["orange", "apple", "banana"];
fruit.includes("strawberry"); //false

indexOf()

배열에서 특정 요소가 존재하는지를 판단해 존재하면 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환한다.

const fruits = ["Orange","Strawberry","Apple","Banana", "Strawberry"];
fruits.indexOf("Strawberry"); //1
//arr.indexOf(searchElement[,fromIndex:검색을 시작할 index])
fruits.indexOf("Strawberry", 2); //4
fruits.indexOf("Grape"); //-1

lastIndexOf()

배열에서 주어진 값을 발견할 수 있는 마지막 인덱스를 반환하고, 요소가 존재하지 않으면 -1을 반환한다. 배열 탐색은 반대 순서로 진행한다.

const fruits = ["Orange","Strawberry","Apple","Banana", "Strawberry"];
fruits.lastIndexOf("Strawberry"); //4
fruits.lastIndexOf("Strawberry", 2); //1
fruits.lastIndexOf("Grape"); //-1

join()

배열의 모든 요소를 연결해 하나의 문자열로 만든다.

const arr = ['hello', 'world'];
arr.join(); //hello,world

map()

배열 내의 모든 요소에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다.

const numbers = [1, 4, 9];
const doubles = numbers.map(num => (
	 num*2
));

console.log(doubles); //[2, 8, 18]

reduce(), reduceRight()

배열의 원소마다 누적 계산값과 함께 함수를 적용해 하나의 값으로 리턴한다.
reduce는 왼쪽부터, reduceRight는 오른쪽부터 수행한다.

const arr = [1,2,3,4];

arr.reduce( (a,b) => a+b ); //10
arr.reduce( (a,b) => a+b, 10); //20

reverse()

배열의 순서를 반전한다.

const arr = [1,2,3,4];

arr.reverse(); //[4, 3, 2, 1]

slice()

배열에 대한 얕은 복사본을 새로운 배열 객체로 반환한다. 원본 배열은 바뀌지 않는다.

const arr1 = [1,2,3]
const arr2 = arr1.slice(); //[1, 2, 3]

splice()

배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경한다.

const arr = [1,2,3];
arr.splice(2); //[3] (삭제된 배열 리턴)
arr; //[1,2] 원본이 바뀜

const arr = [1,2,3];
arr.splice(1, 0, 1.1);
arr; //[1, 1.1, 2, 3]

sort()

배열을 정렬한다.

const arr = ['March', 'Jan', 'Feb', 'Dec'];
arr.sort(); // ["Dec", "Feb", "Jan", "March"]

숫자 정렬 시 오름차순, 내림차순이 아닌 유니코드 순으로 정렬되므로 오름차순, 내림차순으로 정렬할 시 다음과 같이 해야한다.

const arr = [1, 30, 4, 21, 100000];
arr.sort( (a,b) => a-b ) // 오름차순
arr.sort( (a,b) => b-a ) // 내림차순

toString

배열의 요소를 문자열로 반환

const arr = [1, 2, 'a', 'b'];

arr.toString(); // "1,2,a,b"
profile
blog 👉🏻 https://kimnamsun.github.io/

0개의 댓글