TIL. 배열 메소드
✍️ 배열 메소드 몇 가지를 간단하게 복습해보자!
isArray()
// true
Array.isArray([]);
Array.isArray([1, 2]);
Array.isArray(new Array());
// false
Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(1);
Array.isArray('Array');
Array.isArray(true);
Array.isArray(false);
- 주어진 인수가 배열이면 true, 배열이 아니면 false반환
new Array()
문법을 사용해도 배열을 만들 수 있다.
▼ 빈 배열 만들기
let arr = new Array(); // []
join()
const fruits = ['apple', 'banana', 'orange'];
// ▼ answer
const result = fruits.join('');
console.log(result); // "applebananaorange"
console.log(fruits); // ['apple', 'banana', 'orange']
- 배열의 모든 요소를 연결해 하나의 문자열로 만든다.
▼ 예제)
const a = 123456
a.toString().split("").reverse().join("");
'654321'
1) toString() 메소드를 사용해서 숫자 → 문자열로 변경
2) split() 메소드를 사용해서 여러개의 문자열로 나눈다.
3) reverse() 배열의 순서를 반전시킨다.
4) join() 배열의모든 요소를 연결시켜서 하나의 문자열로 만든다. 만약 ('') 공간을 비워둔다면 ',' 로 구분된다.
indexOf()
const arr = [1, 2, 2, 3];
arr.indexOf(2); // 1
arr.indexOf(4); // -1
// 두번째 인수는 검색을 시작할 인덱스이다. 두번째 인수를 생략하면 처음부터 검색한다.
arr.indexOf(2, 2); // 2
- 원본 배열에서 인수로 전달된 요소를 검색하여 인덱스를 반환
- 중복되는 요소가 있는 경우, 첫번째 인덱스를 반환, 해당하는 요소가 없는 경우, -1을 반환
▼ 두번째 요소 찾기
const arr = [1, 2, 2, 3];
const c = arr.indexOf(2, arr.indexOf(2)+1)
▼ n번째 요소 찾기 [참고]
// indexOf 특정 값이 어디에 들었는지 모두 확인
var arr = "AABBCCAA";
console.log("A값이 위치한 곳 확인");
for(var i = 0; i<arr.length;) {
console.log(arr.indexOf("A", i)); // 0, 1, 6, 7
if(i == -1) {
i++; // 일치하는 값이 없을 시 증가
} else {
i = arr.indexOf("A", i) + 1; // 중복 값 출력 방지용
}
}
filter()
let results = arr.filter(function(item, index, array){});
let users = [
{id: 1, name: "John"},
{id: 2, name: "Pete"},
{id: 3, name: "Mary"}
];
// 앞쪽 사용자 두 명을 반환합니다.
let someUsers = users.filter(item => item.id < 3);
console.log(someUsers.length); // 2
- 주어진 조건을 충족하는 모든 요소를 모아서 새로운 배열로 반환
callback - 각 요소를 시험할 함수
item – 함수를 호출할 요소
index – 요소의 인덱스
array – 배열 자기 자신
sort()
let arr = [ 1, 2, 5, 4, 3 ];
arr.sort();
console.log(arr); // [1, 2, 3, 4, 5]
- 배열의 요소를 정렬한 후 그 배열을 반환 (sort()메소드는 원본 배열을 변경)
let arr = [ 1, 2, 3, 10, 11 ];
arr.sort();
console.log(arr); // [1, 10, 11, 2, 3]
- ❗️ 요소는 문자열로 취급
let arr = [ 1, 2, 3, 10, 11 ];
arr.sort((a, b) => a - b );
console.log(arr);
- 만약 a-b 대신 b-a 로 정의하면 큰 순서부터 정렬된다.
- (정렬함수)콜백함수에는 이전값, 현재값이 전달, -값 → 첫번째가 뒤에꺼보다 작다고 판정
▼ 정렬함수
// 정렬 함수(기준을 잡음)를 만들고 이를 인수로 넘겨준다.
function compare(a, b) {
if (a > b) return 1;
if (a == b) return 0;
if (a < b) return -1;
}
Author And Source
이 문제에 관하여(TIL. 배열 메소드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@seul06/배열.TIL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)