오늘은 Javascript 메서드에 대해서 다시 한 번 정리했다.
Array, Map, Set, String 등에 대해서 순차적으로 포스팅 해보려고 한다.
첫 번째로 기타등등과 Array 메서드 정리이다. 이해가 안되는 부분은 없지만 내가 필요한 상황에 적절한 메서드를 사용하는 연습은 꾸준히 해야 할 것 같다.
etc
// Infinity
// 전역 객체의 속성으로 무한대를 나타내는 숫자값
console.log(Infinity);
console.log(Infinity - 1);
console.log(100 / 0);
console.log(Math.pow(100, 1000000000));
// Nan
// 숫자가 아님을 표시
console.log(NaN); //Nan
console.log(isNaN(NaN)); //true
console.log(isNaN(100)); //false
// parseInt
// 문자열을 해당 진수의 정수로 반환
console.log(parseInt("100", 10)); //100
console.log(parseInt("100", 16)); //256
Array
//Array 메서드
// concat()
// array를 합침
let arr = ["사과", "배", "바나나"];
let arrTwo = ["파인애플", "복숭아"];
console.log(arr.concat(arrTwo));
//["사과", "배", "바나나", "파인애플", "복숭아"]
// push() 배열 끝에 항목 추가
// pop() 배열 끝에서 항목 제거
// unshift() 배열 앞에 항목 추가
// shift() 배열 앞에서 항목 제거
let arr = ["사과", "배", "한라봉", "바나나"];
console.log(arr.push("파인애플")); //5
console.log(arr); //["사과", "배", "한라봉", "바나나", "파인애플"]
console.log(arr.pop()); // "파인애플"
console.log(arr); //["사과", "배", "한라봉", "바나나"]
console.log(arr.unshift("감귤")); //5
console.log(arr); //["감귤", "사과", "배", "한라봉", "바나나"]
console.log(arr.shift()); //"감귤"
console.log(arr); //["사과", "배", "한라봉", "바나나"]
// splice()
// 요소를 삭제하거나 교체함
let arr = ["사과", "배", "한라봉", "바나나"];
console.log(arr.splice(2, 1, "레드향")); //한라봉
console.log(arr); //["사과", "배", "레드향", "바나나"];
console.log(arr.splice(1, 0, "파인애플")); ////[]
console.log(arr); //["사과", "파인애플", "배", "레드향", "바나나"];
// slice()
// 요소를 인덱스 기준으로 잘라냄
// 시작 인덱스값과 마지막 인덱스값을 입력해서 배열 요소를 추출하는 메서드. 만약 둘다 안남기면 원본 배열의 얕은 복사본을 반환함.
let arr = [3, 4, 2, 6, 9, 1];
//2 부터 6-1까지의 요소를 새로운 배열로 반환
console.log(arr.slice(2, 6)); //[2, 6, 9, 1]
console.log(arr); //[3, 4, 2, 6, 9, 1]
// fill()
// 해당 값으로 배열을 채움
let arr3 = [1, 2, 3, 4, 5];
console.log(arr.fill(0)); //[0, 0, 0, 0, 0]
console.log(arr.fill(1, 1, 3)); // [0, 1, 1, 0, 0]
console.log(arr.fill(5, 2)); //[0, 1, 5, 5, 5]
// filter()
// 조건을 만족하는 항목들만 배열로 반환
let score = [40, 80, 75, 90, 35, 81];
let message = ["홍길동", "홍홍길동", "홍", "홍홍홍길동", "길동이"];
console.log(score.filter((x) => x > 80)); //[80, 90, 81]
console.log(message.filter((x) => x.length === 3)); //['홍길동', '길동이']
// flat()
let matrix = [1, 2, 3, [1, 2, 3, [10, 20]]];
console.log(matrix.flat()); //[1, 2, 3, [1, 2, 3, 10, 20]
console.log(matrix.flat(2)); //[1, 2, 3, 1, 2, 3, 10, 20]
// includes()
// 배열이 특정 항목을 포함하고 있는지 확인
let fruits = ["사과", "배", "한라봉", "바나나"];
fruits.includes("사과"); //true
fruits.includes("복숭아"); //false
// join()
// 배열의 항목들은 특정 값으로 이어붙임 string으로 반환
let arr = [1, 2, 3, 4, 5];
console.log(arr.join("!")); //1!2!3!4!5
console.log(arr.join("-")); //1-2-3-4-5
// map()
// 배열을 순회하며 함수를 실행한 결과로 새로운 배열을 만들어 반환
// 기존 배열은 그대로 둠.!!
let arr = [1, 2, 3, 4, 5];
let arrTwo = ["1", "2", "3", "4", "5"];
function coding(x) {
return x ** 2;
}
console.log(arr.map(coding)); //[1, 4, 9, 16, 25]
console.log(arr.map((x) => parseInt(x, 10))); //[1, 2, 3, 4, 5]
// from()
// ES6 문법
// 객체 또는 순회가능한 모든 종류의 데이터 타입을 배열로 전환하는 기능.
let obj = {
0: 'a',
1: 'b',
2: 'c',
length: 3
};
let arr = Array.from(obj)
console.log(arr); //['a', 'b', 'c']