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

JavaScript

  1. JavaScript에서 특정 속성 기준으로 객체 배열 중복 제거하기

    JavaScript로 개발하다 보면 객체 배열에서 특정 속성 값이 중복되는 항목을 제거해야 하는 경우가 자주 발생합니다. 이번 글에서는 name 속성을 기준으로 중복된 객체를 배열에서 삭제하는 방법을 알아보겠습니다.문제 상황다음과 같은 객체 배열이 있다고 가정해 봅시다.const arr = [{name: Jack, age: 14},{name: bob, age: 14}, {name: sue, age: 21}, {name: Jill, age: 16}, {name: Jack, age: 21}];여기서 우리가 작성해야 할 함수는 name

  2. JavaScript에서 키 배열과 값 배열로 Map 객체 만드는 방법

    JavaScript를 사용하다 보면 키 배열과 값 배열이 따로 존재하는 경우, 이 둘을 하나의 맵(Map)으로 묶어야 할 때가 있습니다. 예를 들어 다음과 같은 두 개의 배열이 있다고 가정해 보겠습니다. const keys = [0, 4, 2, 3, 1]; const values = [first, second, third, fourth, fifth]; 우리가 만들고자 하는 것은 keys 배열의 i번째 요소를 키로, values 배열의 i번째 요소를 그에 대응하는 값으로 매핑한 맵입니다. 즉, 원하는 출력 결과는 다음과 같습니다.

  3. JavaScript로 배열에서 특정 숫자 이상의 요소만 골라내는 방법

    이번 글에서는 두 개의 인수를 받는 JavaScript 함수를 작성해 보겠습니다. 첫 번째 인수는 숫자로 이루어진 배열, 두 번째 인수는 하나의 기준 숫자입니다. 함수는 입력 배열의 요소 중에서 두 번째 인수로 전달된 숫자보다 크거나 같은 값들만 모아 새로운 배열로 반환해야 합니다.구현 예제아래는 실제 동작하는 코드입니다.const arr = [56, 34, 2, 7, 76, 4, 45, 3, 3, 34, 23, 2, 56, 5]; const threshold = 40; const findGreater = (arr, num) =&g

  4. JavaScript로 문자열 속 모음과 자음 개수 세기

    문제 정의영어 알파벳으로 구성된 문자열을 입력받아, 그 안에 포함된 모음(vowels)과 자음(consonants)의 개수를 각각 계산한 뒤 객체 형태로 반환하는 JavaScript 함수를 작성해야 합니다.예를 들어 다음과 같은 문자열이 주어졌다고 가정해 보겠습니다.const str = This is a sample string, will be used to collect some data;이 문자열에 대해 함수는 아래와 같은 결과를 반환해야 합니다.{ vowels: 17, consonants: 29 }예제 코드다음은 위 문제를 해

  5. JavaScript 객체 배열에서 동일한 키 값 합산하기

    다음과 같은 객체 배열이 있다고 가정해 보겠습니다.const arr = [{a: 2, b: 5, c: 6}, {a:3, b: 4, d:1},{a: 1, d: 2}];하나의 객체가 유효하기 위해서는 객체 내부의 키들이 서로 중복되지 않는 고유한 값이어야 합니다. 하지만 서로 다른 객체들끼리는 공통된 키를 가질 수 있습니다.이번 문제에서 요구되는 것은 이러한 배열을 입력받아, 배열 전체에 존재하는 모든 고유 키를 추출하고 각 키에 해당하는 값들의 누적 합을 구해 하나의 객체로 반환하는 자바스크립트 함수를 작성하는 것입니다.따라서 최종

  6. JavaScript로 배열에서 고유한 요소만 골라 합계 구하는 방법

    숫자 배열을 입력받아, 그중 단 한 번만 등장하는 고유한(unique) 요소들의 합을 반환하는 JavaScript 함수를 작성해야 합니다. 즉, 배열 안에 두 번 이상 나타나는 중복 숫자들은 합산에서 제외하고, 오직 한 번씩만 존재하는 값들만 더하는 것이 핵심입니다.문제 이해하기예를 들어 다음과 같은 입력 배열이 주어졌다고 가정해 보겠습니다.const arr = [2, 5, 5, 3, 2, 7, 4, 9, 9, 11];이 배열에서 5, 2, 9는 각각 두 번씩 등장하므로 고유한 요소가 아닙니다. 반면 3, 7, 4, 11은 한 번씩

  7. JavaScript로 문자열 속 각 숫자의 개수를 객체에 저장하는 방법

    문제 정의다음과 같이 여러 숫자가 연속해서 이어진 문자열이 있다고 가정해 보겠습니다.const str = 11222233344444445666;이 문자열을 입력받아, 문자열 안에 포함된 각 숫자가 몇 번씩 등장하는지를 나타내는 객체를 반환하는 JavaScript 함수를 작성해야 합니다.따라서 위 문자열에 대한 기대 출력 결과는 다음과 같습니다.const output = { 1: 2, 2: 4, 3: 3, 4: 7, 5: 1, 6: 3 };예제 코드이 문제를 해결하는 코드는 다음과 같습니다.

  8. JavaScript로 지정된 범위 내에서 난수 n개 생성하기

    이번 글에서는 숫자 n과 두 개의 숫자로 이루어진 배열(범위)을 인자로 받아, 해당 범위 안에 속하는 난수 n개를 배열 형태로 반환하는 JavaScript 함수를 작성해 보겠습니다.문제 개요예를 들어 n이 10이고 범위가 [5, 15]라면, 함수는 5 이상 15 이하의 값을 가지는 난수 10개를 담은 배열을 반환해야 합니다.핵심 아이디어는 다음과 같습니다.Math.random()은 0 이상 1 미만의 난수를 반환합니다.이 값에 (최댓값 - 최솟값)을 곱하고 최솟값을 더하면 원하는 범위의 난수를 얻을 수 있습니다.toFixed(2)를

  9. JavaScript에서 두 배열의 요소별 절대 차이를 구하는 방법

    JavaScript 개발을 하다 보면 두 배열의 대응되는 요소들끼리 비교하여 그 차이를 계산해야 하는 경우가 종종 있습니다. 이번 글에서는 두 배열의 요소별 절대 차이(absolute difference)를 새로운 배열로 반환하는 함수를 작성하는 방법을 알아보겠습니다.문제 상황예를 들어, 다음과 같은 두 개의 배열이 있다고 가정해 봅시다.const arr1 = [1,2,3,4,5,6]; const arr2 = [9,8,7,5,8,3];우리는 이 두 배열을 인자로 받아서, 각 배열의 대응되는 요소들 사이의 절대 차이를 담은 배열을 반

  10. 다른 키 배열을 기준으로 객체 배열 정렬하기 - JavaScript

    문제 상황다음과 같은 두 개의 배열이 있다고 가정해 보겠습니다.const arr1 = [d,a,b,c]; const arr2 = [{a:1},{c:3},{d:4},{b:2}];여기서 우리는 이 두 배열을 인자로 받는 자바스크립트 함수를 작성해야 합니다. 이 함수는 첫 번째 배열(arr1)의 요소 순서를 기준으로 두 번째 배열(arr2)을 정렬하는 역할을 합니다.다시 말해, 두 번째 배열에 담긴 객체들의 키를 첫 번째 배열의 요소 순서에 맞춰 재배치해야 하며, 최종적으로 다음과 같은 결과가 나와야 합니다.const output = [

  11. JavaScript 배열에서 undefined(빈) 요소를 제자리에서 제거하는 방법

    JavaScript로 개발하다 보면 다음과 같이 중간중간 빈(empty) 요소가 섞여 있는 배열을 마주치는 경우가 있습니다.const arr = [4, 6, , 45, 3, 345, , 56, 6];배열 리터럴에서 쉼표 사이에 값이 생략되면 해당 자리는 undefined가 됩니다. 이번 글에서는 이런 배열에서 undefined 요소만 골라내 제거하는 방법을 알아보겠습니다.핵심 포인트: falsy 값이 아닌 undefined만 제거한다주의할 점은 false, 0, (빈 문자열), null 같은 falsy 값까지 모두 지우는 것이 아니

  12. JavaScript 객체 배열에서 동일한 이름별로 숫자 값 합산하기

    문제 상황다음과 같이 사람 이름(firstName)과 숫자(value)를 담은 객체 배열이 있다고 가정해 보겠습니다.const arr = [ {firstName:John, value: 89}, {firstName:Peter, value: 151}, {firstName:Anna, value: 200}, {firstName:Peter, value: 22}, {firstName:Anna,value: 60} ];여기서 작성해야 할 것은 firstName 속성의 값이 서로 같은 객체들을 하나로 묶고, 그들

  13. JavaScript에서 Array.prototype.lastIndexOf() 함수 직접 구현하기

    JavaScript의 lastIndexOf() 함수는 인자로 전달받은 요소가 배열에 존재할 경우, 해당 요소가 마지막으로 등장하는 위치의 인덱스를 반환합니다. 만약 요소가 배열에 존재하지 않는다면 -1을 반환합니다.예를 들어 다음과 같습니다.[3, 5, 3, 6, 6, 7, 4, 3, 2, 1].lastIndexOf(3) // 결과: 7배열 [3, 5, 3, 6, 6, 7, 4, 3, 2, 1]에서 숫자 3은 인덱스 0, 2, 7 세 곳에 존재하므로, 마지막 등장 위치인 7이 반환됩니다.구현 목표이번 글에서는 기존에 내장되어 있는

  14. JavaScript 객체의 숫자 값을 특정 범위로 정규화하는 방법

    문제 소개 다음과 같이 문자열 키에 숫자 값이 매핑되어 있는 객체가 있다고 가정해 보겠습니다. const obj = { num1: 45, num2: 78, num3: 234, num4: 3, num5: 79, num6: 23 }; 우리가 작성해야 할 함수는 이런 객체를 첫 번째 인수로, 그리고 반드시 두 개의 숫자를 담은 배열을 두 번째 인수로 받습니다. 두 번째 인수는 하나의 범위(range)를 의미합니다. [a, b] (b >= a) 즉, 객체의 모든 값을 이 범위 안으로 정규화(

  15. JavaScript에서 주어진 너비와 높이로 2차원 배열 생성하기

    문제 개요 JavaScript에서 입력값에 따라 다차원(2차원) 배열을 생성하는 함수를 작성해야 합니다. 이 함수는 다음과 같은 세 가지 인자를 받습니다. row — 배열 안에 포함될 하위 배열(subarray)의 개수 col — 각 하위 배열이 가질 요소의 개수 val — 각 요소에 채워질 값 예를 들어, 세 가지 입력값이 각각 2, 3, 10이라면 출력 결과는 다음과 같아야 합니다. const output = [[10, 10, 10], [10, 10, 10]]; 즉, 하위 배열이 2개(row) 있고, 각 하위 배열은 요소를

  16. JavaScript로 배열의 첫 번째 값을 기준으로 요소 그룹화하기

    다음과 같이 숫자 배열을 요소로 가지는 배열이 있다고 가정해 보겠습니다.const arr = [[1, 45], [1, 34], [1, 49], [2, 34], [4, 78], [2, 67], [4, 65]];각 하위 배열은 반드시 두 개의 요소만 포함한다고 합시다. 이때 우리가 작성해야 할 함수는 첫 번째 값이 동일한 하위 배열들의 두 번째 요소를 하나로 묶어 새로운 배열을 만드는 것입니다.기대 결과위 배열을 처리하면 출력 결과는 다음과 같은 형태가 됩니다.const output = [ [45, 34, 49], [34

  17. JavaScript로 숫자를 자릿수 배열로 분해하는 방법 - 수십, 수백, 수천 단위 변환

    숫자가 주어졌을 때, 예를 들어 123이 입력되면 다음과 같은 배열을 반환하는 함수를 작성해야 합니다.[100, 20, 3]즉, 이 함수는 인자로 전달된 숫자를 구성하는 각 자릿수의 자릿값(place value)을 요소로 가지는 배열을 반환하는 것이 핵심입니다. 123은 백의 자리 1(=100), 십의 자리 2(=20), 일의 자리 3(=3)으로 분해될 수 있습니다.이 문제는 재귀(recursion) 방식을 활용하면 깔끔하게 해결할 수 있습니다. 숫자의 마지막 자릿수를 추출하고, 남은 숫자에 대해 같은 작업을 반복하는 구조입니다.구

  18. JavaScript에서 여러 구분자를 기준으로 문자열 분할하는 방법

    문제 소개 문자열 하나와 임의 개수의 구분자 문자를 입력받아, 지정된 모든 구분자를 기준으로 문자열을 나눈 배열을 반환하는 JavaScript 함수를 작성해 보겠습니다. 예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다. const str = rttt.trt/trfd/trtr,tr; 구분자가 다음과 같다면, const sep = [/, ., ,]; 함수는 아래와 같은 결과를 반환해야 합니다. const output = [rttt, trt, trfd, trtr, tr]; 방법 1. 반복문으로 직접 구현하기 문자열을 한 글자씩

  19. JavaScript에서 값으로 객체의 키 가져오기 - 값으로 키 찾는 방법

    JavaScript에서 객체의 값(value)을 알고 있을 때, 그 값에 해당하는 키(key)를 찾아야 하는 경우가 종종 있습니다. 일반적으로 우리는 키로 값을 조회하지만, 이번 글에서는 그 반대 작업을 수행하는 방법을 살펴보겠습니다.다음과 같은 객체가 있다고 가정해 보겠습니다.const products = { Pineapple: 38, Apple: 110, Pear: 109 };이 객체의 모든 키는 서로 고유하며, 모든 값 역시 서로 고유합니다. 여기서 우리는 값을 인자로 받아 해당 값의 키를 반환하는 함수를

  20. JavaScript로 배열 속 회문(팰린드롬) 요소 찾는 방법

    이번 글에서는 문자열 또는 숫자로 이루어진 배열을 입력받아, 그중 회문(palindrome)에 해당하는 요소들만 모아 새로운 배열로 반환하는 JavaScript 함수를 작성해 보겠습니다.문제 예시예를 들어, 다음과 같은 배열이 입력으로 주어졌다고 가정해 봅시다.const arr = [carecar, 1344, 12321, did, cannot];이때 기대되는 출력 결과는 다음과 같습니다.const output = [12321, did];접근 방법먼저 숫자나 문자열을 인자로 받아 해당 값이 회문인지 판별하는 헬퍼 함수(helper f

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:88/297  20-컴퓨터/Page Goto:1 82 83 84 85 86 87 88 89 90 91 92 93 94