Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript

  1. JavaScript로 중첩된 JSON 객체에서 키 값을 조회하는 방법

    중첩된 JSON 객체에서 특정 키의 값 찾기실제 개발 환경에서는 다음과 같이 객체 배열이 중첩된 JSON 구조를 자주 다루게 됩니다.const obj = { prop: [ { key: FOO, value: Foo is wonderfull, foo is great }, { key: BAR, value: Bar is bad, really bad } ] };여기서 우리가 작성해야 할

  2. JavaScript에서 숫자를 문자열로 변환하는 방법 – encode/decode 함수 구현

    로그인 시스템에서 사용자를 고유하게 식별하기 위해 각 사용자에게 고유한 userID가 필요하다고 가정해 보겠습니다. 보안상의 이유로 이 userID를 난독화(obfuscate)하여 다른 사람이 해당 숫자를 쉽게 추측하지 못하도록 만들고 싶습니다.이를 위해 기본적으로 두 가지 함수를 작성해야 합니다.encode()decode()첫 번째 함수는 숫자 입력을 26진수 알파벳 매핑으로 변환하고, 두 번째 함수는 그 알파벳 매핑을 다시 원래의 숫자로 되돌리는 역할을 합니다.물론 대부분의 해싱(Hashing) 알고리즘은 양방향 변환을 지원하지

  3. JavaScript에서 날짜(월) 기준으로 데이터 그룹화하는 방법

    실무에서는 사용자별 활동 데이터를 날짜 단위로 재구성해야 하는 경우가 자주 있습니다. 이번 글에서는 여러 사용자의 월별 데이터를 날짜 기준으로 그룹화하는 JavaScript 함수를 만들어 보겠습니다.문제 상황다음과 같이 사용자 이름을 키로 하고, 각 사용자마다 연도-월 형식의 날짜와 값이 담긴 객체가 있다고 가정해 봅시다.const obj = { Mary: { 2016-1: 2, 2016-5: 1, 2016-3: 1 }, Paul: { 2016-1: 1,

  4. JavaScript에서 문자열로 변환된 숫자·불리언 값을 원래 자료형으로 복원하는 방법

    실무에서 API 응답이나 설정 파일을 다루다 보면, 원래는 숫자나 불리언이어야 할 값이 문자열로 저장되어 있는 경우를 종종 만나게 됩니다. 다음과 같은 JSON 객체를 살펴보겠습니다. const obj = { name: sam, age: 24, isMarried: false }; age는 원래 숫자(Number)였고, isMarried는 불리언(Boolean)이었지만, 어딘가의 처리 과정에서 실수로 모두 문자열(String)로 변환되어 버렸습니다. 이번 글에서는 이렇게 잘못 변환된 값들을 올바른 자료형으로 되돌려 주는 함

  5. JavaScript에서 문자열 배열로 객체 배열을 검색하고 필터링하는 방법

    문제 상황 다음과 같이 문자열로 이루어진 배열 하나와 객체로 이루어진 배열 하나가 있다고 가정해 보겠습니다. const arr1 = [ 1956888670, 2109171907, 298845084 ]; const arr2 = [ { KEY: 1262875245, VALUE: Vijay Kumar Verma }, { KEY: 1956888670, VALUE: Sivakesava Nallam }, { KEY: 2109171907, VALUE: udm analyst }, { KEY: 298845084, VAL

  6. JavaScript로 중복 값이 있는 배열을 등장 횟수를 담은 객체 배열로 변환하는 방법

    문제 상황다음과 같이 중복된 항목이 포함된 문자열 배열이 있다고 가정해 보겠습니다.const arr = [California,Texas,Texas,Texas,New York,Missouri,New Mexico,California];여기서 우리가 작성해야 할 것은 이러한 배열을 입력으로 받아, 고유한 항목마다 하나의 객체를 생성하고 각 객체에 원본 배열에서의 등장 횟수를 담은 count 속성을 포함시킨 객체 배열을 반환하는 JavaScript 함수입니다.따라서 위 배열에 대한 최종 출력 결과는 다음과 같은 형태가 됩니다.const o

  7. JavaScript에서 객체 배열을 그룹화하는 방법 – reduce() 활용 가이드

    JavaScript로 데이터를 다루다 보면 여러 개의 객체가 담긴 배열을 특정 기준으로 묶어 하나의 객체로 재구성해야 하는 경우가 자주 발생합니다. 이번 글에서는 reduce() 메서드를 활용해 중복된 키를 가진 객체들을 깔끔하게 그룹화하는 방법을 알아보겠습니다.문제 상황다음과 같이 이름(name), 항공편(flight), 값(value), 타입(type)을 포함하는 객체 배열이 있다고 가정해 보겠습니다.const arr = [ { name: JON, flight: 100, value: 12, type: uns },

  8. JavaScript에서 하위 배열 내부 요소까지 포함해 배열 전체 정렬하기

    문제 개요정수 두 개씩 담긴 하위 배열들로 구성된 배열을 입력받아, 하위 배열 내부의 요소까지 모두 고려해 전체를 오름차순으로 정렬한 새로운 배열을 반환하는 JavaScript 함수를 작성해야 합니다.즉, 흩어져 있는 모든 숫자를 하나로 모아 정렬한 뒤, 다시 두 개씩 짝지어 하위 배열 형태로 재구성하면 됩니다.예시입력 배열이 다음과 같다고 가정해 보겠습니다.const arr = [    [4, 2],    [6, 1],    

  9. JavaScript로 각 하위 배열의 평균을 개별적으로 계산하고 모든 평균의 합계 구하기

    정수로 이루어진 배열의 배열(2차원 배열)이 있다고 가정해 보겠습니다.const arr = [ [1, 2, 3], [4, 5, 6] ];우리는 이러한 배열의 배열을 인수로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 각 하위 배열의 평균을 개별적으로 계산한 뒤, 모든 평균값들의 합계를 반환해야 합니다.따라서 위 배열의 경우 첫 번째 하위 배열 [1, 2, 3]의 평균은 2이고, 두 번째 하위 배열 [4, 5, 6]의 평균은 5이므로 출력 결과는 다음과 같아야 합니다.2 + 5 = 7구현 예제이 문제는

  10. JavaScript로 각 하위 배열의 두 요소 간 차이를 계산하고 합계 반환하기

    이번 글에서는 각 하위 배열이 정확히 두 개의 요소를 가지는 중첩 배열(nested array)을 입력으로 받아 처리하는 JavaScript 함수를 작성해 보겠습니다.함수가 수행해야 할 작업은 다음과 같습니다. 먼저 각 하위 배열에서 첫 번째 요소와 두 번째 요소의 차이를 개별적으로 계산하고, 이렇게 구한 모든 차이 값들의 총합을 최종적으로 반환합니다.예를 들어 입력 배열이 다음과 같다고 가정해 보겠습니다.const arr = [ [5, 3], [9, 4], [3, 7], [4, 6] ];각 하위 배열의

  11. JavaScript로 구현하는 변형 피보나치 수열 — n번째 항 구하기

    다음과 같은 규칙으로 수열을 하나 정의해 보겠습니다.이 수열의 연속된 두 항을 각각 t1, t2라고 할 때, 세 번째 항은 아래 공식으로 계산됩니다.t3 = t1 + (t2 * t2)피보나치 수열과 마찬가지로, 이 수열의 첫 번째 항과 두 번째 항은 항상 각각 0과 1로 고정됩니다.우리가 작성해야 할 것은 숫자 n을 입력받아, 위에서 정의한 수열의 n번째 항을 계산하여 반환하는 JavaScript 함수입니다.예를 들어 n = 6이라면 결과는 다음과 같습니다.t6 = 27그 이유는 이 수열이 다음과 같이 전개되기 때문입니다.0 1 1

  12. JavaScript 배열에서 목표 합이 되는 모든 조합 찾기

    숫자 배열을 첫 번째 인수로, 목표 합(target sum)을 두 번째 인수로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 배열의 요소들(중복 사용 여부와 관계없이) 중에서 합이 목표 값과 일치하는 모든 조합을 찾아, 배열 안에 배열 형태로 반환해야 합니다.예를 들어 입력이 다음과 같다면 −const arr = [2, 3, 6, 7], sum = 7;위 입력에 대한 출력은 다음과 같아야 합니다 −const output = [    [2, 2, 3],  &nbs

  13. JavaScript 백트래킹으로 계단 오르기 문제 해결하기 – 모든 점프 순서 구현 방법

    계단 오르기 문제는 알고리즘 학습에서 가장 널리 알려진 재귀·백트래킹 연습 문제 중 하나입니다. 이 글에서는 JavaScript를 이용해 계단을 오르는 모든 가능한 점프 순서를 백트래킹(backtracking)으로 구현하는 방법과, 메모이제이션(memoization)을 활용해 총 경우의 수를 구하는 방법까지 함께 살펴보겠습니다.문제 정의n개의 계단이 있는 계단을 오른다고 가정해 봅시다. 운동 효과를 위해 한 번에 여러 칸씩 뛰어 오르려고 합니다.한 번의 점프로 최대 k칸을 오를 수 있으며, 이때 k는 계단 수와 무관하게 항상 1 또

  14. JavaScript로 인코딩된 문자열을 디코딩하는 함수 구현하기

    문제 이해하기인코딩된 문자열이 주어졌을 때, 이를 처리하여 디코딩된 문자열을 반환하는 함수를 작성해야 합니다.인코딩 규칙은 다음과 같습니다.n[encodedString] — 대괄호 안의 문자열(encodedString)이 정확히 n번 반복됨여기서 n은 항상 양의 정수라고 보장됩니다.또한 입력 문자열은 항상 유효하다고 가정할 수 있습니다. 즉, 불필요한 공백이 없고 대괄호가 올바른 형태로 짝을 이루고 있다는 의미입니다.예시입력이 다음과 같다면,const str = 3[a]2[bc];출력은 다음과 같아야 합니다.aaabcbc3[a]는

  15. JavaScript 문자열 자르기: 말줄임표(...)를 붙여 길이를 제한하는 truncate 함수 구현하기

    문제 정의첫 번째 인수로 문자열을, 두 번째 인수로 숫자(최대 길이)를 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 다음 세 가지 조건을 모두 충족해야 합니다.문자열 자르기: 문자열의 길이가 지정된 최대 길이(두 번째 인수)보다 길면 문자열을 잘라내고, 잘라낸 문자열 끝에 ...(말줄임표)를 붙여 반환합니다.말줄임표도 길이에 포함: 끝에 추가되는 점 세 개(...) 역시 전체 문자열 길이에 포함되어야 합니다.예외 처리: 다만 지정된 최대 길이가 3 이하인 경우에는, 점 세 개를 잘라낼 문자열의 길이를 계산할 때 포함

  16. JavaScript 객체 배열에서 id 기준으로 객체 속성 교체하는 방법

    문제 정의 실무에서는 서로 다른 출처에서 가져온 두 개의 객체 배열을 비교하고, 특정 키(id)를 기준으로 데이터를 병합하거나 일부 속성만 교체해야 하는 경우가 자주 발생합니다. 이번 글에서는 그 대표적인 예로, 두 배열에서 id가 일치하는 객체를 찾아 첫 번째 배열 객체의 name 속성을 두 번째 배열의 값으로 교체하는 방법을 알아보겠습니다. 먼저 다음과 같이 두 개의 객체 배열이 있다고 가정해 보겠습니다. const arr1 = [ { id: 124, name: qqq }, { id: 589, name: www },

  17. JavaScript에서 중첩 배열의 길이를 기준으로 객체 배열 정렬하기

    JavaScript로 개발을 하다 보면 객체 배열 안에 또 다른 배열이 중첩되어 있는 데이터 구조를 자주 만나게 됩니다. 이번 글에서는 각 객체가 가진 중첩 배열의 길이(요소 개수)를 기준으로 배열을 내림차순으로 정렬하는 방법을 알아보겠습니다.문제 상황다음과 같이 각 객체가 elements라는 중첩 배열 속성을 포함하는 배열이 있다고 가정해 봅시다.const arr = [ { name: Cat1, elements: [ { name: name, id: id } ]}, { name: Cat2, ele

  18. JavaScript 객체 배열을 group 속성 기준으로 그룹화하는 방법

    자동차 정보를 담고 있는 다음과 같은 객체 배열이 있다고 가정해 보겠습니다. 각 객체는 group(소속 그룹 목록), name(브랜드명), code(식별 코드) 세 가지 속성을 가지고 있습니다.const arr = [ { group:[], name: All Makes, code: }, { group:[Group A], name: BMW, code: X821 }, { group:[Group B],

  19. JavaScript 배열에서 세 개의 엄격하게 증가하는 숫자 찾기 (연속 또는 비연속)

    다음과 같은 숫자 배열이 있다고 가정해 보겠습니다.const arr = [4, 7, 4, 8, 9, 3];우리는 이러한 배열을 입력받아, 배열 안에서 인덱스와 값의 크기가 모두 엄격하게(strictly) 증가하는 세 개의 숫자를 찾는 JavaScript 함수를 작성해야 합니다. 이때 세 숫자는 반드시 서로 붙어 있을 필요는 없으며, 연속된 위치에 있어도 되고 서로 떨어져 있어도 됩니다(연속 또는 비연속).예를 들어 위 배열에서 숫자 7, 8, 9는 각각 인덱스 1, 3, 4에 위치합니다. 값은 7 < 8 < 9로 증가하고

  20. JavaScript에서 하위 배열 병합하기: 공유 이메일 기준으로 계정 그룹화

    사람들의 이름과 이메일 정보를 담고 있는 배열의 배열(2차원 배열)이 있다고 가정해 보겠습니다.const arr = [ ["John", "johnsmith@mail.com", "john00@mail.com"], ["John", "johnnybravo@mail.com"], ["John", "johnsmith@mail.com", "john_newyork@mail.com"],

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:50/297  20-컴퓨터/Page Goto:1 44 45 46 47 48 49 50 51 52 53 54 55 56