'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 |
