Adrian

Posted on

# About this series

This is series of daily JavaScript coding challenges... for both beginners and advanced users.

Each day I’m gone present you a very simple coding challenge, together with the solution. The solution is intentionally written in a didactic way using classic JavaScript syntax in order to be accessible to coders of all levels.

Solutions are designed with increase level of complexity.

## Today’s coding challenge

``````Create a function that will receive an array of numbers as argument and will return a new array with distinct elements

``````

(This is the same challenge as yesterday, but with a different solution. Scroll down for solution)

## Code newbies

If you are a code newbie, try to work on the solution on your own. After you finish it, or if you need help, please consult the provided solution.

## Advanced developers

Please provide alternative solutions in the comments below.

You can solve it using functional concepts or solve it using a different algorithm... or just solve it using the latest ES innovations.

By providing a new solution you can show code newbies different ways to solve the same problem.

## Solution

``````// Solution for challenge27b

var ar = getDistinctElements([1, 2, 3, 6, -1, 2, 9, 7, 10, -1, 100]);
println(ar);

function getDistinctElements(ar)
{
var ar2 = [];

var lastIndex = ar.length - 1;

for(let i = 0; i <= lastIndex; i++)
{
if (!isInArray(ar[i], ar, i + 1, lastIndex))
{
ar2.push(ar[i]);
}
}

return ar2;
}

function isInArray(n, ar, fromIndex, toIndex)
{
for(var i = fromIndex; i <= toIndex; i++)
{
if (ar[i] === n)
return true;
}

return false;
}

``````

To quickly verify this solution, copy the code above in this coding editor and press "Run".

Note: The solution was originally designed for codeguppy.com environment, and therefore is making use of `println`. This is the almost equivalent of `console.log` in other environments. Please feel free to use your preferred coding playground / environment when implementing your solution.

## Top comments (1)

Jackson Currie
``````const getDistinct = x => [...new Set(x)]
``````