인자가 Array인지 판별한다.
Array.isArray([1, 2, 3]); // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar'); // false
Array.isArray(undefined); // false
배열이라면 true
를, 배열이 아니라면 false
를 반환한다.
배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환한다.
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"]
배열 안의 모든 요소가 주어진 판별 함수를 통과하는지 테스트한다.
const arr = [1, 5, 7, 10, 13, 16];
console.log(arr.every((value) => value < 20)); //true
배열 안의 어떤 요소라도 주어진 판별 함수를 통과하는지 테스트한다.
const arr = [1, 5, 7, 10, 13, 16];
console.log(arr.some((value) => value < 10)); //true
배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채운다.
const arr = Array(5);
arr.fill(1) // [1,1,1,1,1]
배열이 특정 요소를 포함하고 있는지 판별한다.
const fruit = ["orange", "apple", "banana"];
fruit.includes("strawberry"); //false
배열에서 특정 요소가 존재하는지를 판단해 존재하면 첫 번째 인덱스를 반환하고 존재하지 않으면 -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
배열에서 주어진 값을 발견할 수 있는 마지막 인덱스를 반환하고, 요소가 존재하지 않으면 -1을 반환한다. 배열 탐색은 반대 순서로 진행한다.
const fruits = ["Orange","Strawberry","Apple","Banana", "Strawberry"];
fruits.lastIndexOf("Strawberry"); //4
fruits.lastIndexOf("Strawberry", 2); //1
fruits.lastIndexOf("Grape"); //-1
배열의 모든 요소를 연결해 하나의 문자열로 만든다.
const arr = ['hello', 'world'];
arr.join(); //hello,world
배열 내의 모든 요소에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다.
const numbers = [1, 4, 9];
const doubles = numbers.map(num => (
num*2
));
console.log(doubles); //[2, 8, 18]
배열의 원소마다 누적 계산값과 함께 함수를 적용해 하나의 값으로 리턴한다.
reduce
는 왼쪽부터, reduceRight
는 오른쪽부터 수행한다.
const arr = [1,2,3,4];
arr.reduce( (a,b) => a+b ); //10
arr.reduce( (a,b) => a+b, 10); //20
배열의 순서를 반전한다.
const arr = [1,2,3,4];
arr.reverse(); //[4, 3, 2, 1]
배열에 대한 얕은 복사본을 새로운 배열 객체로 반환한다. 원본 배열은 바뀌지 않는다.
const arr1 = [1,2,3]
const arr2 = arr1.slice(); //[1, 2, 3]
배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경한다.
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]
배열을 정렬한다.
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 ) // 내림차순
배열의 요소를 문자열로 반환
const arr = [1, 2, 'a', 'b'];
arr.toString(); // "1,2,a,b"