다음과 같은 객체 배열이 있다고 가정해 보겠습니다. - const people =[{ firstName:Ram, id:301}, { firstName:Shyam, lastName:Singh, id:1016}, { firstName:Dinesh, lastName:Lamba, id:231}, { id:341}, { firstName:Karan, lastName:Malhotra, id:441}, { id:8881}, { firstName:Vivek, id:301}]; firstName과 lastName 속성이 모두 있는 개체가 먼저 나
두 개의 문자열을 인수로 받아 순서와 대소문자에 관계없이 동일한 문자를 포함하는지 확인하는 isEqual()과 같은 함수를 작성해야 합니다. 예를 들어 - const first = 'Aavsg'; const second = 'VSAAg'; isEqual(first, second); //true 방법:1 배열 사용 이 방법에서는 문자열을 배열로 변환하고 Array.prototype.sort() 메서드를 사용하여 문자열로 다시 변환하고 동일한지 확인합니다. 이에 대한 코드는 - 예시 const firs
4개의 인수를 취하는 binarySearch()와 같은 함수를 만듭니다. - 정렬된 숫자/문자열 리터럴 배열 배열의 시작 인덱스(0) 배열의 끝 인덱스(길이 - 1) 검색할 번호 배열에 숫자가 있으면 숫자의 인덱스를 반환해야 하며, 그렇지 않으면 -1을 반환해야 합니다. 다음은 전체 코드입니다 - 예시 { const mid =start + Math.floor((end - start)/2); if(start <=end){ if(arr[mid] ===num){ return mid; } if(num arr[mid]){ retur
Number 리터럴의 배열이 주어지고 배열의 두 연속 요소의 절대 차이를 반환하는 함수를 작성해야 합니다. 예를 들어 - If input array is [23, 53, 66, 11, 67] Output should be [ 30, 13, 55, 56] 이 문제에 대한 코드를 작성해 봅시다 - 인덱스 1에서 배열의 끝까지 반복을 시작하고 원래 배열의 [i]번째 요소와 [i -1]번째 요소의 절대 차이를 새 배열에 계속 공급하는 for 루프를 사용할 것입니다. 다음은 코드입니다 - 예시 var arr = [23, 53, 66,
예를 들어, 배열을 입력으로 받고 두 개 이하의 다른 숫자를 포함하는 배열의 최대 슬라이스를 반환하는 함수를 작성해야 한다고 가정해 보겠습니다. 이 문제를 자세히 살펴보면 안정적인 하위 배열을 확인하고 원본 배열을 반복하는 작업이 포함됩니다. 따라서 슬라이딩 윈도우 알고리즘이 이에 매우 적합합니다. 슬라이딩 윈도우 알고리즘을 통해 이 문제를 해결하는 코드는 - 예시 const arr = [1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 6, 2, 1, 8, 1, 1 ,1 ,1, 8, 1, 1, 8, 8]; const map
우리는 문자열을 받아 공백을 제거하고 소문자로 변환하고 영어 알파벳의 해당 문자 위치를 설명하는 숫자 배열을 반환하는 함수를 작성해야 합니다. 문자열 내의 공백이나 특수 문자는 무시해야 합니다. 예를 들어 - Input → ‘Hello world!’ Output → [8, 5, 12, 12, 15, 23, 15, 18, 12, 4] 이에 대한 코드는 - 예시 const str = 'Hello world!'; const mapString = (str) => {
배열에서 중복 객체를 제거하고 새 객체를 반환하는 함수를 작성해야 합니다. 동일한 수의 키, 동일한 키 및 각 키에 대해 동일한 값이 있는 경우 한 개체를 다른 개체의 복제본으로 간주합니다. 이에 대한 코드를 작성해 보겠습니다 - 맵을 사용하여 고유한 개체를 문자열 형식으로 저장하고 중복 키가 보이면 생략합니다. 그렇지 않으면 개체를 새 배열로 푸시합니다. − 예시 const arr = [ { "timestamp": 564328370007,  
두 개의 문자열을 받는 함수를 작성해야 하며, 두 개의 인수 중 첫 번째 인수와 같지만 모든 단어 앞에 두 번째 인수가 추가되는 새 문자열을 반환해야 합니다. 예를 들어 - Input → ‘hello stranger, how are you’, ‘@@’ Output → ‘@@hello @@stranger, @@how @@are @@you’ 두 번째 인수가 제공되지 않으면 #을 기본값으로 사용합니다. 예시 const str = 'hello st
배열 arr과 0과 100(둘 다 포함) 사이의 숫자 n을 받아 배열의 n% 부분을 반환하는 함수를 작성해야 합니다. 두 번째 인수가 0이면 빈 배열, 100이면 완전한 배열, 50이면 절반, 그런 식으로 예상해야 합니다. 그리고 두 번째 인수가 제공되지 않으면 기본값은 50이어야 합니다. 따라서 이에 대한 코드는 -가 됩니다. 예시 const numbers = [3,6,8,6,8,4,26,8,7,4,23,65,87,98,54,32,57,87]; const byPercent = (arr, n = 50) => {
숫자 배열의 배열을 받아들이는 getAverage() 함수를 작성해야 하며 해당 하위 배열의 평균을 포함하는 새로운 숫자 배열을 반환해야 합니다. 이에 대한 코드를 작성해 보겠습니다. 원래 배열을 매핑하여 하위 배열을 다음과 같은 평균으로 줄입니다. − 예시 const arr = [[1,54,65,432,7,43,43, 54], [2,3], [4,5,6,7]]; const secondArr = [[545,65,5,7], [0,0,0,0], []]; const getAverage = (arr) => {
정의되지 않은 일부 값과 null 값도 포함하는 숫자 배열이 있습니다. 정의되지 않은 값과 null 값을 무시하고 배열을 가져와서 빠른 합계를 반환하는 함수, 예를 들어 quickSum을 만들어야 합니다. 이를 위한 전체 코드는 다음과 같습니다. - 예시 const arr = [23,566,null,90,-32,undefined,32,-69,88,null]; const quickSum = (arr) => { const sum = arr.reduce((acc, val) => { &nbs
일부 숫자, 부울, 문자열 및 개체 자체를 포함하여 임의의 속성을 포함하는 개체가 제공됩니다. 객체를 첫 번째 인수로, 문자열을 두 번째 인수로 취하는 함수를 작성해야 합니다. 두 번째 인수에 가능한 값은 JavaScript와 같은 숫자, 문자열, 객체, 부울, 기호 등의 모든 데이터 유형의 이름입니다. 우리의 임무는 두 번째 인수로 지정된 유형의 모든 속성을 삭제하는 것입니다. 두 번째 인수가 제공되지 않으면 숫자를 기본값으로 사용합니다. 이를 위한 전체 코드는 다음과 같습니다. - const obj = { &n
두 개의 숫자를 받아 곱을 반환하지만 (*) 연산자를 사용하지 않는 함수를 작성해야 합니다. 비법 1:나누기 연산자를 두 번 사용 곱셈과 나눗셈은 서로의 역이라는 것을 알고 있으므로 어떤 숫자를 다른 숫자의 역수로 나누면 두 숫자를 곱하는 것과 같지 않을까요? 이에 대한 코드를 살펴보겠습니다 - const a = 20, b = 45; const product = (a, b) => a / (1 / b); console.log(product(a, b)); 트릭 2:로그 사용 먼저 로그의 속성을 살펴보겠습니다 - log(a)
객체를 받아서 키가 값에 매핑되는 객체를 반환하는 함수 reverseObject()를 작성해야 합니다. Object.keys()를 반복하고 키 값 쌍을 새 개체의 값 키 쌍으로 푸시하여 이 문제에 접근합니다. 다음은 그렇게 하는 코드입니다 - 예시 const cities = { 'Jodhpur': 'Rajasthan','Alwar': 'Rajasthan','Mumbai': 'Maharasthra','Ahemdaba
우리는 두 개의 인수를 취하는 함수 containsAll()을 작성해야 합니다. 첫 번째는 객체이고 두 번째는 문자열 배열입니다. 객체에 배열에서 문자열로 언급된 모든 속성이 포함되어 있는지 여부에 따라 부울 값을 반환합니다. 따라서 이에 대한 코드를 작성해 보겠습니다. 배열을 반복하면서 객체의 각 요소가 있는지 확인하고 객체의 키가 아닌 문자열을 찾으면 종료하고 false를 반환하고 그렇지 않으면 true를 반환합니다. 다음은 동일한 작업을 수행하는 코드입니다. - 예시 const obj = { '
문자열이 주어지고 배열에 있는 각 문자의 빈도를 반환하는 함수를 작성해야 합니다. 그리고 우리는 문자의 경우를 고려해서는 안됩니다. 이를 수행하는 가장 좋은 방법은 문자열을 반복하고 키를 문자로, 빈도를 값으로 사용하여 개체를 준비하는 것입니다. 이 작업을 수행하는 코드는 -입니다. 예시 const string = 'ASASSSASAsaasaBBBASvcdNNSASASxxzccxcv'; const countFrequency = str => { const frequency = {}; &n
문자열/숫자 리터럴의 배열이 제공됩니다. 배열을 가져와서 배열에서 임의의 항목 하나를 재귀적으로 제거하고 배열에 항목이 포함될 때까지 동시에 인쇄하는 함수removeRandom()을 만들어야 합니다. 이것은 Math.random()을 사용하여 난수를 생성하고 Array.prototype.splice()를 사용하여 해당 인덱스의 항목을 제거하고 배열 길이가 0으로 줄어들 때까지 인쇄하여 수행할 수 있습니다. 다음은 동일한 작업을 수행하는 코드입니다. - 예시 const arr = ['Arsenal', 'Man
12보다 작은 요소가 있는 월 배열이 제공되며 각 요소는 1과 12(둘 다 포함)입니다. 우리의 임무는 이 배열을 가져와 12개의 요소가 있는 전체 월 배열을 만드는 것입니다. 요소가 원래 배열에 있으면 해당 요소를 사용하고 그렇지 않으면 해당 위치에서 사용합니다. 예를 들어 - Intput → [5, 7, 9] Output → [0, 0, 0, 0, 5, 0, 7, 0, 9, 10, 0, 0] 이제 코드를 작성해 보겠습니다 - 예시 const months = [6, 7, 10, 12]; const comple
우리는 숫자 배열과 숫자를 받습니다. 우리의 임무는 두 번째 인수로 제공된 숫자까지 합해지는 모든 하위 배열의 배열을 반환하는 함수를 작성하는 것입니다. 예를 들어 - const arr = [23, 5, 1, 34, 12, 67, 9, 31, 6, 7, 27]; const sum = 40; console.log(requiredSum(arr, sum)); 다음 배열을 출력해야 합니다 - [ [ 5, 1, 34 ], [ 9, 31 ], [ 6, 7, 27 ] ] 이 3개의 하위 배열을 각각 합하면 최대 40이 되기 때문입니다. 슬
예를 들어 숫자 배열과 숫자를 입력받아 배열에 존재하는 가장 가까운 값을 해당 숫자에 반환하는 함수를 작성해야 한다고 가정해 보겠습니다. 예를 들어 - closest([45,61,53,98,54,12,69,21], 67); //69 closest([45,61,53,98,54,12,69,21], 64); //61 따라서 코드를 작성해 보겠습니다. Array.prototype.reduce() 메서드를 사용하여 차이를 계산하고 reduce 함수에서 가장 작은 차이를 반환하고 가장 작은 차이와 검색한 숫자의 합이 필요한 숫자가 됩니다