I am currently trying to make a multiplication table of 10 with 2 nested for loops
It works somewhat, but the first indices aren’t working as intended:
my code:
var multiplicationTable = []
for (var i = 1; i <= 10; i++) {
multiplicationTable[i] = [i]
for (var j = 1; j <= 10; j++) {
multiplicationTable[i][j] = i*j
}
}
result:
[1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
[3, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
[4, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40]
[5, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
[6, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60]
[7, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
[8, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80]
[9, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90]
[10, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
I don’t understand why the first index of each array is the same as the second,
I want to create this without that first index.
Help and how you solved it would be amazing, thank you very much!
2
Answers
Array indexes start at
0
. So subtract 1 fromi
andj
to get the appropriate array indexes.Here is another approach, using
Array.map()
:The
fill(0)
is necessary as.map()
will not iterate overundefined
array elements.