Добавить вход (мин) в массив с JavaScript - PullRequest
0 голосов
/ 09 апреля 2019

В настоящее время у меня есть:

function generateRange(min, max, step){

    let rangeList = [];

    return rangeList.push(min);

}

console.log(generateRange((2, 10, 2)));

И в этом случае возвращается 1. Это не имеет никакого смысла для меня - разве это не должно возвращаться 2? Нужно ли мне получать значение min, когда я помещаю его в новый массив?

В конечном счете, я хочу, чтобы массив выглядел так:

[2, 4, 6, 8, 10]

С 2 в качестве минимального значения, 10 в качестве максимального значения и 2 в качестве приращения.

Ответы [ 2 ]

1 голос
/ 09 апреля 2019

Метод push возвращает длину нового массива и равен 1 после нажатия одного элемента.

Вы можете использовать Array.from() для генерации диапазона:

const generateRange = (min, max, step = 1) =>
  Array.from({ length: Math.floor((max - min) / step) + 1 }, (_, i) =>
    min + i * step
  )

console.log(generateRange(2, 10, 2));
1 голос
/ 09 апреля 2019

Используйте .concat(), если вы не хотите вернуться на новую отдельную строку от той, где вы использовали .push().

Т.е. это будет работать:

function generateRange (min, max, step) {

    let rangeList = [];

    return rangeList.concat(min);

}

И это будет работать:

function generateRange (min, max, step) {

    let rangeList = [];

    rangeList.push(min);

    return rangeList;
}

И если вы хотите min, max, и все вв зависимости от значения step используйте цикл for с заданными значениями в качестве минимального, максимального значения и приращения:

function generateRange(min, max, step){
    let rangeList = [];
    for(let i = min; i <= max; i += step) {
        rangeList.push(i);
    }
    return rangeList;
}
console.log(generateRange(2, 10, 2));

Поэтому вы можете использовать .push() для создания нового массива, простоне используйте return в той же строке кода, потому что он будет возвращать длину массива вместо фактического массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...