'Function which increments a value by 125 from based on an array Index - javascript

I want to generate a number in increments of 125 from index 1 based on the index while looping over an array. If the index is 0, it should print 100. If the index is 1, 100 + 125 = 225, index is 2, 225 + 125 = 350 and so on. How do I do this? This is what I have.

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)

Expected output:

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

Can someone help me out with this math? Thanks.



Solution 1:[1]

The result function can be rewritten as this:


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

Solution 2:[2]

const rows = 5;

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

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

})

console.log(result)

This should be better: you were multiplying 100, and not 125. Note that index===1 and index===0 are still included in 100 + 125*index

Solution 3:[3]

By the way, Array#reduce is perfect for this:

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);

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Anindya Dey
Solution 2
Solution 3 code