자바스크립트
-
JS로 한글 종성 유무 판단하기Studying/JavaScript 2021. 11. 22. 21:07
프로젝트를 진행하면서 다음과 같은 고민을 하게 되었다. 위와 같은 화면에서 게임 결과에 따라 마피아의 이름을 동적으로 바꾸어 주어야 하는데, 고양이 이름의 배열과 출력해야 하는 결과는 다음과 같다. const catNames = ['고등어', '샴', '치즈', '삼색이', '네로', '오드아이']; const mafiaName = catNames[0]; console.log(`마피아는 ${mafiaName}였습니다.`}; 이때 고양이의 이름이 '샴'과 같이 받침이 있는 경우에는 '마피아는 샴였습니다.'와 같이 출력되므로 '마피아는 샴이었습니다'와 같이 출력하기 위해서는 조사를 변경해 주어야 한다. 처음에는 다음과 같이 고양이 이름에 조사를 붙여 해결할 수 있지 않을까 생각해 보았다. const catN..
-
.filter().map()과 .reduce()Studying/JavaScript 2021. 10. 4. 21:42
다음과 같은 동작을 하는 함수를 생각해 보자. 정수 요소가 담긴 배열에 대하여 요소의 값이 홀수일 때만 그 값의 제곱을 새로운 배열에 담아 반환하려고 한다. 즉, [2, 5, 3, -1, 9, -5, 8]과 같은 배열을 입력 받아 [25, 9, 1, 81, 25]를 반환하는 함수를 만들려고 한다. 먼저 값이 홀수인 요소만 담아 새로운 배열을 반환하는 함수는 filter로 구현할 수 있다. Array.prototype.filter() 메서드의 구문은 다음과 같다. filter((element, index, array) => { ... } ) filter에 요소값, 요소 인덱스, 순회되는 배열 객체를 매개변수로 받는 콜백함수를 전달하며 호출하면 콜백함수의 반환값이 true인 경우만 요소를 유지하고, 테스트를..
-
Array.prototype.sort() 메서드Studying/JavaScript 2021. 10. 3. 23:39
배열 요소의 순서를 정렬할 때 Array.prototype.sort() 메서드를 다음과 같이 사용할 수 있다. const array = [4, 2, 6, 3, 5, 8, 9, 10]; const sorted = array.sort(); console.log(sorted); // [10, 2, 3, 4, 5, 6, 8, 9] console.log(array); // [10, 2, 3, 4, 5, 6, 8, 9] 이때 원본 배열 array 자체의 순서가 변경된 것을 알 수 있다. 즉, sort() 메서드는 mutator method이다. 원본 배열의 순서를 변경하지 않기 위해 다음과 같이 메서드를 사용하겠다. const array = [4, 2, 6, 3, 5, 8, 9, 10]; const sorted =..