Функция, которая увеличивает значение на 125 на основе индекса массива - javascript

Я хочу сгенерировать число с шагом 125 из индекса 1 на основе индекса при переборе массива. Если индекс равен 0, он должен вывести 100. Если индекс равен 1, 100 + 125 = 225, индекс равен 2, 225 + 125 = 350 и так далее. Как мне это сделать? Это то, что у меня есть.

const rows = 5;

const rowArray = new Array(rows).fill(' ');

const result = rowArray.map((i, index) => {
  if (index === 0) {
    return 100
  }
  if (index === 1) {
    return 225
  }
  return index * 100 + 125

})

console.log(result)

Ожидаемый результат:

[100, 225, 350, 475, 600, 725]

Может ли кто-нибудь помочь мне с этой математикой? Спасибо.

Должно быть index * 125 + 100. Вы получили умножение и сложение в обратном порядке.

Barmar 22.04.2022 18:57

Обратите внимание, что исключения для индексов 0 и 1 необязательны. 0 * 125 + 100 производит 100, а 1 * 125 + 100 производит 225. Все это можно было бы сократить до одной строчки. const result = Array.from({ length: 5 }, (_, index) => index * 125 + 100)

3limin4t0r 22.04.2022 19:01
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Сравнение структур данных: Массивы и объекты в Javascript
Сравнение структур данных: Массивы и объекты в Javascript
Итак, вы изучили основы JavaScript и хотите перейти к изучению структур данных. Мотивация для изучения/понимания Структур данных может быть разной,...
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Прошлая статья была первой из цикла статей о создании системы электронной коммерции с использованием Keystone.js, и она была посвящена главным образом...
Приложение для отслеживания бюджета на React js для начинающих
Приложение для отслеживания бюджета на React js для начинающих
Обучение на практике - это проверенная тема для достижения успеха в любой области. Если вы знаете контекст фразы "Практика делает человека...
Стоит ли использовать React в 2022 году?
Стоит ли использовать React в 2022 году?
В 2022 году мы все слышим о трендах фронтенда (React, Vue), но мы не знаем, почему мы должны использовать эти фреймворки, когда их использовать, а...
1
2
39
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

const rows = 5;

const rowArray = new Array(rows).fill(' ');

const result = rowArray.map((i, index) => {
  return 100 + 125*index

})

console.log(result)

Это должно быть лучше: вы умножали 100, а не 125. Обратите внимание, что index===1 и index===0 все еще включены в 100 + 125*index

Ответ принят как подходящий

Функцию result можно переписать следующим образом:


const result = rowArray.map((i, index) => index * 125 + 100)

Кстати, Array#reduce идеально подходит для этого:

const rows = 5;
const rowArray = new Array(rows).fill(' ');
const result = [100];

rowArray.reduce((a, b) => (b = a + 125, result.push(b), b), 100);

console.log(result);

Другие вопросы по теме