Рубрики
Без рубрики

Какое у вас альтернативное решение? Вызов № 30

Об этой серии это серия Daily JavaScript Coding Alges … для обоих Begnne … Tagged с Challenge, JavaScript, Codenewbie, LearnToCode.

Это серия ежедневных проблем кодирования 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”