Files
freeCodeCamp/curriculum/challenges/english/99-dev-playground/daily-coding-challenges-javascript/javascript-challenge-20.md

1.4 KiB

id, title, challengeType, dashedName
id title challengeType dashedName
6821ebee237de8297eaee796 JavaScript Challenge 20: Array Duplicates 28 javascript-challenge-20

--description--

Given an array of integers, return an array of integers that appear more than once in the initial array, sorted in ascending order. If no values appear more than once, return an empty array.

  • Only include one instance of each value in the returned array.

--hints--

findDuplicates([1, 2, 3, 4, 5]) should return [].

assert.deepEqual(findDuplicates([1, 2, 3, 4, 5]), []);

findDuplicates([1, 2, 3, 4, 1, 2]) should return [1, 2].

assert.deepEqual(findDuplicates([1, 2, 3, 4, 1, 2]), [1, 2]);

findDuplicates([2, 34, 0, 1, -6, 23, 5, 3, 2, 5, 67, -6, 23, 2, 43, 2, 12, 0, 2, 4, 4]) should return [-6, 0, 2, 4, 5, 23].

assert.deepEqual(findDuplicates([2, 34, 0, 1, -6, 23, 5, 3, 2, 5, 67, -6, 23, 2, 43, 2, 12, 0, 2, 4, 4]), [-6, 0, 2, 4, 5, 23]);

--seed--

--seed-contents--

function findDuplicates(arr) {

  return arr;
}

--solutions--

function findDuplicates(arr) {
  const duplicates = [];
  
  for (let i = 0; i < arr.length - 1; i++) {
    for (let j = i + 1; j < arr.length; j++) {
      if (arr[i] === arr[j] && !duplicates.includes(arr[i])) {
        duplicates.push(arr[i]);
      }
    }
  }

  return duplicates.sort((a, b) => a - b);
}