✍️ 배열 메소드 몇 가지를 간단하게 복습해보자!
// 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);
new Array()
문법을 사용해도 배열을 만들 수 있다.▼ 빈 배열 만들기
let arr = new Array(); // []
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() 배열의모든 요소를 연결시켜서 하나의 문자열로 만든다. 만약 ('') 공간을 비워둔다면 ',' 로 구분된다.
const arr = [1, 2, 2, 3];
arr.indexOf(2); // 1
arr.indexOf(4); // -1
// 두번째 인수는 검색을 시작할 인덱스이다. 두번째 인수를 생략하면 처음부터 검색한다.
arr.indexOf(2, 2); // 2
▼ 두번째 요소 찾기
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; // 중복 값 출력 방지용
}
}
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 – 배열 자기 자신
let arr = [ 1, 2, 5, 4, 3 ];
arr.sort();
console.log(arr); // [1, 2, 3, 4, 5]
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);
▼ 정렬함수
// 정렬 함수(기준을 잡음)를 만들고 이를 인수로 넘겨준다.
function compare(a, b) {
if (a > b) return 1;
if (a == b) return 0;
if (a < b) return -1;
}