Это серия ежедневных проблем кодирования JavaScript … как для начинающих, так и для продвинутых пользователей.
Каждый день я уходил с вами очень простую задачу кодирования вместе с решением. Решение преднамеренно написано дидактическим способом с использованием классического синтаксиса JavaScript, чтобы быть доступным для кодеров всех уровней.
Решения разработаны с повышением уровня сложности.
Сегодняшняя задача кодирования
Create a function that will receive an array of numbers as argument and will return a new array with distinct elements
(Это та же проблема, что и вчера, но с другим решением. Прокрутите вниз для решения)
Код новичков
Если вы новичок в коде, попробуйте поработать над решением самостоятельно. После того, как вы закончите его, или, если вам нужна помощь, пожалуйста, проконсультируйтесь с предоставленным решением.
Продвинутые разработчики
Пожалуйста, предоставьте альтернативные решения в комментариях ниже.
Вы можете решить его, используя функциональные концепции или решить, используя другой алгоритм … или просто решить его, используя новейшие инновации ES.
Предоставляя новое решение, вы можете показать новичка кода различные способы решения одной и той же проблемы.
Решение
// 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;
}
Чтобы быстро проверить это решение, скопируйте приведенный выше код в этом кодировании редактор и нажмите “запустить”.
Примечание: решение было первоначально разработано для codeguppy.com окружающая среда и, следовательно, использует println . Это почти эквивалент Консоль.log в других средах. Пожалуйста, не стесняйтесь использовать свою предпочтительную игровую площадку/среду кодирования при внедрении вашего решения.
Оригинал: “https://dev.to/codeguppy/what-s-your-alternative-solution-challenge-30-hao”