переписать функцию с использованием синтаксиса es2018 - PullRequest
0 голосов
/ 30 августа 2018

я написал функцию startFrom, которая принимает 2 числа start и length и возвращает массив с длиной «length», начинающейся с «start», так startFrom (5, 3); вернется [5, 6, 7]; и я написал другую функцию с именем goUntil, которая делает то же самое, но в обратном порядке, так goUntil (5, 3); вернется [3, 4, 5]; вот код

const startFrom = (start, length) => {
    let result = [];
    for (var i = 0; i < length; i++) {
        result.push(i);
        result[i] += start;
    }
    return result;
}
const goUntil = (end, length) => {
    let secondResult = [];
    for (var i = 1; i < length; i++) {
        secondResult.push(i);
    }
    for (var i = secondResult.length; i >= 0; i--) {
        secondResult[i] = end;
        end--;
    }
    return secondResult;
}

в этом нет ничего плохого, все работает нормально, мне просто интересно, смогу ли я переписать этот код более кратко, используя синтаксис es018

1 Ответ

0 голосов
/ 30 августа 2018

Вы можете сжать этот код, используя Array.from() метод:

const startFrom = (start, length) => Array.from({ length }, (_, i) => (start + i));

const goUntill = (end, length) => Array.from(
                                    { length }, (_, i) => (end - (length - (i + 1)))
                                  );

console.log(startFrom(5, 3));
console.log(goUntill(5, 3));
.as-console-wrapper { max-height: 100% !important; top: 0; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...