기술 블로그
[JS] 알고리즘을 위한 js - 1 배열 본문
반응형
let a = [3, 1, 6, 2, 4, 8, 10, 5, 11, 7, 9];
a.sort(compareNumber);
console.log(a);
function compareNumber(i, j) { return i - j; }
Math
반올림,올림,내림
Math.round(실수)
Math.ceil(실수)
Math.floor(실수)
거듭제곱, 제곱근
Math.pow(2,3) = 2**3
console.log(Math.sqrt(9));
console.log(Math.pow(3, 5));
console.log(Math.sqrt(9));
//243
//3
최대 최소
console.log(Math.max(1, 2, 3, 4));
console.log(Math.min(1, 2, 3, 4));
//4
//1
배열 (!이 붙으면 부수효과가 있음)
arr.toString()
let a = [1, 2, 3];
console.log(a.toString());
//1,2,3
! arr.splice(삽입할 위치, 삭제할 항목 수, 삽입할 값 목록)
let a = [1, 2, 3];
console.log(a.splice(0, 1, 9, 8));
console.log(a);
//[ 1 ]
//[ 9, 8, 2, 3 ]
메서드 반환값은 삭제된 값을 반환하고 원본 배열은 수정된다.
arr.slice(시작 위치<= , <끝 위치)
let a = [1, 2, 3];
console.log(a.slice(1, 3));
console.log(a);
//[ 2, 3 ]
//[ 1, 2, 3 ]
부수효과를 일으키지 않으며 배열을 잘라서 반환한다.
slice(0)으로 배열을 복사할 수 있다.
! arr.unshift()
! arr.shift()
! arr.pop()
! arr.push()
덱과 같이 동작한다.
arr1.concat(arr2)
두 배열을 합친다.
let a = [1, 2, 3];
let b = [4, 5, 6];
console.log(a.concat(b));
! arr.sort()
오름차순으로 정렬하며 주의할점은 int형도 아스키를 기반으로 정렬되어 콜백함수를 지정해주는게 낫다.
let a = [3, 1, 6, 2, 4, 8, 10, 5, 11, 7, 9];
a.sort(compareNumber);
console.log(a);
function compareNumber(i, j) { return i - j; }
arr.toSorted()
오름차순으로 정렬한 값을 반환하며 부수효과가 없다.
arr.toSorted(function compareFn(a, b) { /* … */ })
! arr.reverse()
let a = [];
for (let i = 0; i < 5; ++i);
a.push(i);
a.reverse();
console.log(a)
arr.find()
let persons = [ { name: "홍길동", age: 16 }, { name: "임꺽정", age: 18 }, { name: "전우치", age: 19 } ];
let person = persons.find(p => p.age == 18);
console.log(person);
콜백함수 조건에 맞는 '값'이 반환된다.
arr.findIndex()
let persons = [ { name: "홍길동", age: 16 }, { name: "임꺽정", age: 18 }, { name: "전우치", age: 19 } ];
let index = persons.findIndex(p => p.age == 18);
console.log(index);
함수형 메서드
filter, reduce는 부수효과가 없다 .
반응형
'알고리즘' 카테고리의 다른 글
js heapq (0) | 2023.11.14 |
---|---|
[JS] 알고리즘을 위한 js - 2 문자열과 순회문 (0) | 2023.11.13 |
[프로그래머스] 조이스틱 (0) | 2023.11.01 |
프로그래머스 체육복 (0) | 2023.10.26 |
모의고사 (0) | 2022.02.18 |
Comments