본문 바로가기

전체 글90

The Fisher Yates Method 셔플 알고리즘 const points = [40, 100, 1, 5, 25, 10]; for (let i = points.length -1; i > 0; i--) { let j = Math.floor(Math.random() * i) let k = points[i] points[i] = points[j] points[j] = k } Math.floor() 함수는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환 console.log(Math.floor(5.95)); // expected output: 5 console.log(Math.floor(5.05)); // expected output: 5 console.log(Math.floor(5)); // expected output: 5 console.log(M.. 2022. 9. 26.
비교 함수 compare function https://stackoverflow.com/questions/6567941/how-does-sort-function-work-in-javascript-along-with-compare-function 비교함수를 시작하기 전에... 자바스크립트의 sort는 숫자도 문자열로 생각하고 반환한다. a = [100,3,20]라는 배열이 있을 때, a.sort()를 실행하면 3,20,100이 나오지 않고 100,20,3이 출력된다. 앞에 string값 1,2,3만 보고 오름차순으로 출력하기 때문이다. //오름차순(ascending)은 1 → 2 → 3 → 4 → …… 와 같이 뒤로 갈수록 숫자가 커지는 경우 따라서 비교함수를 사용하여 오름차순 정렬을 해야한다. How does sort function work .. 2022. 9. 26.
splice 특정 구간의 배열을 자르고 분리하는 splice //splice 함수 //원본 배열이 수정된다 //시작 인덱스부터 몇 개의 데이터를 삭제할건지 정할 수 있다 //삭제한 지점에 새로운 데이터를 넣을 수 있다. 배열.splice(시작인덱스,삭제할 데이터 개수); splice 함수는 특정 구간의 배열을 원본에서 잘라낸 뒤 잘라낸 배열을 다시 반환한다. 파라미터로 3가지 요소를 넣을 수 있는데 어디서부터 잘라낼 것인지에 대한 '시작 인덱스'는 필수이며 '삭제할 데이터 개수'는 생략 가능하지만 그럼 시작 인덱스로부터 모든 데이터가 삭제된다 마지막으로 '새로 삽입할 데이터'는 삭제한 배열 대신에 새로운 데이터를 넣고 싶을 때 사용한다. let a = [1,2,3]; //배열생성 a.splice(0,1); -> 1 .. 2022. 9. 26.
js 배열 배열은 하나 이상의 값을 가질 수 있다. -배열 만들기 1. const food = ["pizza", "pasta" ]; 2. const food = []; food[0] = "pizza"; food[1] = "pasta"; 3. const cars = new Array("pizza","pasta"); -배열 접근 방법 배열도 객체이지만 객체 접근이 아닌, 인덱스로 접근한다. const person = ["john", 20]; 이 때, john을 프린트하는 법은 person[0] 이다 . js에서 객체로 접근할 때랑 다르다. const person = {name : "john" , age : 20}; person.name; 마지막 배열 접근법 const food = ["pizza","pasta"]; le.. 2022. 9. 21.