Array.isArray(arg) : boolean
- 정적 메소드 Array.isArray는 주어진 인수가 배열이면 true, 배열이 아니면 false 반환
Array.from
- Array.from 메소드는 특정 객체를 변환하여 새로운 배열 생성
- 유사배열 객체 : length 프로퍼티와 인덱스된 요소를 가지고 있는 객체
- 이터러블 객체 : Map과 Set 객체 및 문자열과 같이 해당 요소를 개별적으로 선택할 수 있는 객체
// 문자열-> 이터러블
const arr1 = Array.from('hey');
console.log(arr1); //결과 : ['h', 'e', 'y']
// 유사 배열 객체를 새로운 배열로 변환하여 반환
const arr2 = Array.from({ length: 3, 0: 'h', 1: 'e', 2: 'y'});
console.log(arr2); //결과 : ['h', 'e', 'y']
// Array.from의 두번째 매개변수에게 배열의 모든 요소에 대해 호출할 함수를 전달 할 수 있음
// 이 함수는 첫번째 매개변수에게 전달된 인수로 생성된 배열의 모든 요소를 인수로 전달받아 호출됨
cosnt arr3 = Array.from({ length: 5 }, function (v,i) { return i;});
console.log(arr3); //결과 : [0,1,2,3,4]
Array.of
- 전달된 인수를 요소로 갖는 배열 생성
- Array.of는 Array 생성자 함수와 다르게 전달된 인수가 1개이고 숫자이더라도 인수를 요소로 갖는 배열 생성
// 전달된 인수가 1개이고 숫자이더라도 인수를 요소로 갖는 배열 생성
const arr1 = Array.of(1);
console.log(arr1); //결과: [1]
const arr2 = Array.of(1, 2, 3);
console.log(arr2); //결과 : [1, 2, 3]
const arr3 = Array.of('hey');
console.log(arr3); //결과 : 'hey'
Array.fill(value, start, end)
- 배열의 시작 인덱스 ~ 끝 인덱스 이전(끝 인덱스 자기자신은 미포함)까지 하나의 값으로 채워주는 메소드
- 원본 배열을 직접 변경하며 리턴값은 변형한 배열
- value : 배열을 채울 값
- start : 시작인덱스, 기본값: 0, 옵션
- end : 끝인덱스, 기본값: arr.length, 옵션
// ex1> 길이가 6이고 배열의 원소가 모두 0인 배열 만들기
// 1. 리터널 방법
const arr1 = [0, 0, 0, 0, 0, 0];
// 2. fill() 메소드 방법
const arr2 = Array(6).fill(0);
console.log(arr2); //결과 : [0, 0, 0, 0, 0, 0]
// ex2>
[1, 2, 3].fill(4) //결과 : [4, 4, 4] -> 모두 4로 채움
[1, 2, 3].fill(4, 1) //결과 : [1, 4, 4] -> 1번째 인덱스부터 쭉 4로 채움
[1, 2, 3].fill(4, 1, 2) //결과 : [1, 4, 3] -> 1번째 ~ 2번째 인덱스 전까지 4로 채움
// ex3> fill()을 이용하여 모두 1의 행렬(2차원 배열) 만들기
const arr3 = new Array(3);
for (let i=0; i<arr.length; i++) {
arr3[i] = new Array(4).fill(1); // 크기가 4이고 1로 채워진 배열 생성
}
console.log(arr3[0][0]); //결과 : 1
console.log(arr3[1][0]); //결과 : 1
console.log(arr3[2][0]); //결과 : 1
Array.prototype.indexOf(searchElement, fromIndex) : number
- 원본 배열에서 인수로 전달된 요소를 검색해서 인덱스를 반환
- 중복되는 요소가 있는 경우 : 첫번째 인덱스 반환
- 두번째 인수는 검색을 시작할 인덱스. 두번째 인수를 생락하면 처음부터 검색
- 배열에 요소가 존재하는지 여부 확인할 때 유용
const colors = ['red', 'violet', 'blue'];
// colors 배열에 'violet' 요소 존재여부 확인
if (colors.indexOf('violet') = -1) {
colors.push('violet');
}
console.log(colors); //결과 : ['red', 'violet', 'blue']