본문 바로가기

분류 전체보기

Object 생성자의 메서드와 Object 프로토타입 메서드 1. Object.assign() - 객체를 병합하는 메서드 Object.assign(target, ...sources) 해당 메서드는 하나 이상의 원본 객체들로부터 모든 속성들을 대상 객체로 복사합니다. 첫번째 인자는 타겟으로, 그 뒤 인자부터는 타겟오브젝트에 병합될 객체입니다. 1 2 3 4 5 6 7 let obj1 = { a: 1 }; let obj2 = { b: 2 }; let obj3 = { c: 3 }; var newObj = Object.assign(obj1, obj2, obj3); console.log(obj1); // --> { a: 1, b: 2, c: 3 } console.log(newObj); // --> { a: 1, b: 2, c: 3 } cs 위 예제에서는 obj1값 자체가 .. 더보기
[객체] 각 키의 값은 해당 문자가 주어진 문자열에서 몇번 나오는가? 문제설명 문자열이 주어졌을때, "countAllCharacters" 함수는 주어진 문자열의 각각의 문자를 키로 가지는 객체를 반환합니다. 각 키의 값은 해당 문자가 주어진 문자열에서 몇번 나오는지를 나타냅니다. 조건 만약 빈 문자열이 주어졌다면, "countAllCharacters" 함수는 빈 객체를 반환해야 합니다. 입출력예시 let output = countAllCharacters('banana'); console.log(output); // --> {b: 1, a: 3, n: 2} 문제 function countAllCharacters(str) { } *풀이 function countAllCharacters(str) { let obj = {}; for(let i = 0; i < str.length;.. 더보기
[객체] 객체 두개가 주어졌을때, 두번째 객체의 속성을 첫번째에 추가하라 문제 설명 객체 두개가 주어졌을때, "extend" 함수는 두번째 객체의 속성을 첫번째 객체에 추가해야 합니다. 조건 첫번째 객체에 없는 모든 키를 추가해야한다. 만약 첫번째 객체에 이미 있는 키라면, 값을 덮어쓰지말고 무시하라. 두번째 객체는 수정하면 안된다. 입출력 예시 let obj1 = { a: 1, b: 2 }; let obj2 = { b: 4, c: 3 }; extend(obj1, obj2); console.log(obj1); // --> {a: 1, b: 2, c: 3} console.log(obj2); // --> {b: 4, c: 3} 문제 function extend(obj1, obj2) { } *풀이1 1 2 3 4 5 6 function extend(obj1, obj2) { for(.. 더보기
[객체] 주어진 객체의 속성의 총 갯수는 몇개인가요? 문제 설명 객체가 주어졌을때, "countNumberOfKeys" 함수는 객체안에 있는 속성들의 갯수를 반환합니다. 입출력 예시 let obj = { a: 1, b: 2, c: 3 }; let output = countNumberOfKeys(obj); console.log(output); // --> 3 문제 function countNumberOfKeys(obj) { } *풀이1 1 2 3 4 5 6 7 function countNumberOfKeys(obj) { let count = 0; for(let key in obj){ count++; } return count; } cs *풀이2 1 2 3 function countNumberOfKeys(obj) { return Object.keys(obj)... 더보기
배열과 객체의 개념과 차이 (Array vs Object) #1 배열과 객체의 정의 배열의 선언방법 let arr = []; 1 2 3 let arr = []; // 빈 배열 선언 arr = [1, 3, 5, 7, 9]; // 배열에 값 할당 console.log(arr); // --> [1, 3, 5, 7, 9] cs - 배열은 순서가 있는 값으로, 그 순서는 인덱스로 구성이 되어있습니다. (번호는 0부터 매김) - 그 값들은 요소(element)라고 부르며, 각각의 요소들은 쉼표(comma)로 구분해줍니다. - 대괄호'[ ]'를 통해 배열을 만듭니다.​ 객체의 선언방법 let user = {}; 1 2 3 4 5 6 7 let user = {}; // 빈 객체 선언 user = { name: "Jun", email: "jun@gmail.com", city: .. 더보기
[조건문] 주어진 score을 학점으로 변환하기 (A+, A, A- , ... , F) 문제 설명 점수가 주어졌을때, "convertScoreToGradeWithPlusAndMinus" 함수는 주어진 점수와 대응하는 등급을 문자열로 반환합니다. 조건 (100 - 90) --> 'A' (89 - 80) --> 'B' (79 - 70) --> 'C' (69 - 60) --> 'D' (59 - 0) --> 'F' 만약 주어진 점수가 100을 초과하거나 0 미만이라면 INVALID SCORE 를 반환해야 합니다. 만약 점수의 1의 자리가 0~2 사이라면 등급과 함께 '-'를 반환해야 합니다. 만약 점수의 1의 자리가 8~9 사이라면 등급과 함께 '+'를 반환해야 합니다.F+ 와 F- 는 존재하지 않습니다. 입출력 예시 let output = convertScoreToGradeWithPlusAndM.. 더보기
[Spring] JDBC 와 JdbcTemplate 그리고 커넥션 풀 JDBC와 JdbcTemplate JDBC JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. JDBC로 데이터 베이스 중 mysql을 이용하는 방법을 한번 보자. /* Insert 쿼리 실행 */ @Repository public class MemberDao implements IMemberDao { private String driver = "oracle.jdbc.driver.OracleDriver"; private String url = "jdbc:oracle:thin:@localhost:1521:xe"; private String userid = "s.. 더보기
[Spring] 컨트롤러에서 뷰를 분기하는 리다이렉트 & 인터셉트 리다이렉트와 인터셉트 리다이렉트 리다이렉트(redirect)는 컨트롤러에서 뷰를 분기하는 방법으로, 지금의 페이지에서 특정 페이지로 전환하는 기능을 한다. // Modify @RequestMapping(value = "/modifyForm") public String modifyForm(Model model, HttpServletRequest request) { HttpSession session = request.getSession(); Member member = (Member) session.getAttribute("member"); /* member의 존재 여부 */ if(null == member) { return "redirect:/"; // null일 경우 메인페이지로 리다이텍트 } else.. 더보기