Incrementing Multi Dimensional Array in JavaScript

James Manes

I'm currently working on something very basic but I am having a hard time. I would like to get a random index in a two dimensional array and increment it by one every time the for-loop turns over.

var dice = [[],[]];

// Get totals.
for(var i = 0; i < 30000; i++) {
    var dieOne = Math.floor(Math.random() * 6 + 1);
    var dieTwo = Math.floor(Math.random() * 6 + 1);
        dice[[dieOne][dieTwo]]++;
    }

    // All index values equal 30,000 for some reason
    alert(dice[[1][3]]);

Why would this for loop set all indexes to 30,000? Am I using JavaScript arrays incorrectly?

Thanks.

Paul S.

What you're doing

It seems like you're misunderstanding the syntax of what you're doing. It is currently equivalent to

var dieOne = Math.floor(Math.random() * 6 + 1);
var dieTwo = Math.floor(Math.random() * 6 + 1);
var foo;
foo = dieOne; // a number
foo = [foo];  // an array with one number in it
foo = foo[dieTwo]; // probably undefined, unlikely case of `dieTwo = 0`
                   // which would give back `dieOne`
dice[foo] = dice[foo] + 1; // most likely trying to add 1 to property `undefined`

Then later you're doing

foo = [1]; // an array length 1
foo = foo[3]; // undefined, it doesn't have an item here
foo = dice[foo]; // = dice[undefined] = undefined
alert(foo); // alerting "undefined"

What you probably want to be doing

It looks like you actually want an Array of 6 Arrays each of 6 Numbers; construct your favourite way

var dice = [
    [0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0]
];

Then for your loop to be

var dieOne, dieTwo, i;
for(i = 0; i < 30000; ++i) {
    dieOne = Math.floor(Math.random() * 6); // indices start at 0 and
    dieTwo = Math.floor(Math.random() * 6); // 6 of them means max is 5
    dice[dieOne][dieTwo]++; // count the brackets here..
}

then say you want to know how many times you had dieOne = 1, dieTwo = 3, you would look at

dice[1][3]; // count the brackets again.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Javascript multi dimensional array issue

From Dev

Convert Array of Objects to Multi Dimensional Array in JavaScript

From Dev

How to convert a deep multi dimensional array to a single dimensional array - Javascript

From Dev

How to convert a deep multi dimensional array to a single dimensional array - Javascript

From Dev

Multi dimensional array cumulative sum in Javascript

From Dev

Sorting multi dimensional array by 2 columns - JavaScript

From Dev

Javascript - Combining multi-dimensional array with index

From Dev

Creating multi dimensional array with map method: javascript

From Dev

How to create javascript multi dimensional array?

From Dev

Multi-dimensional Javascript open array

From Dev

How to implement multi dimensional array in javascript

From Dev

Convert object to multi-dimensional array - JavaScript

From Dev

Convert multi-dimensional array into single array (Javascript)

From Dev

Convert multi-dimensional array into single array (Javascript)

From Dev

Flattening a multi dimensional array

From Dev

Declare multi dimensional array

From Dev

Multi Dimensional array printing

From Dev

Multi dimensional array in JQ

From Dev

Multi Dimensional Array Construct

From Dev

javascript - Get largest value(s) in multi-dimensional array

From Dev

How to display multi dimensional Javascript array in tabular format in the console?

From Dev

Sorting a multi-dimensional array in JavaScript using a custom sort function

From Dev

Extract a slice of a large multi-dimensional array in Javascript

From Dev

javascript iterate through and map a multi-dimensional array

From Dev

group multi-dimensional array based on one attribute javascript

From Dev

Javascript - Convert string into a multi-dimensional array and then display the output

From Dev

assigning to multi-dimensional array

From Dev

How to parse this multi dimensional array

From Dev

Order array multi-dimensional

Related Related

  1. 1

    Javascript multi dimensional array issue

  2. 2

    Convert Array of Objects to Multi Dimensional Array in JavaScript

  3. 3

    How to convert a deep multi dimensional array to a single dimensional array - Javascript

  4. 4

    How to convert a deep multi dimensional array to a single dimensional array - Javascript

  5. 5

    Multi dimensional array cumulative sum in Javascript

  6. 6

    Sorting multi dimensional array by 2 columns - JavaScript

  7. 7

    Javascript - Combining multi-dimensional array with index

  8. 8

    Creating multi dimensional array with map method: javascript

  9. 9

    How to create javascript multi dimensional array?

  10. 10

    Multi-dimensional Javascript open array

  11. 11

    How to implement multi dimensional array in javascript

  12. 12

    Convert object to multi-dimensional array - JavaScript

  13. 13

    Convert multi-dimensional array into single array (Javascript)

  14. 14

    Convert multi-dimensional array into single array (Javascript)

  15. 15

    Flattening a multi dimensional array

  16. 16

    Declare multi dimensional array

  17. 17

    Multi Dimensional array printing

  18. 18

    Multi dimensional array in JQ

  19. 19

    Multi Dimensional Array Construct

  20. 20

    javascript - Get largest value(s) in multi-dimensional array

  21. 21

    How to display multi dimensional Javascript array in tabular format in the console?

  22. 22

    Sorting a multi-dimensional array in JavaScript using a custom sort function

  23. 23

    Extract a slice of a large multi-dimensional array in Javascript

  24. 24

    javascript iterate through and map a multi-dimensional array

  25. 25

    group multi-dimensional array based on one attribute javascript

  26. 26

    Javascript - Convert string into a multi-dimensional array and then display the output

  27. 27

    assigning to multi-dimensional array

  28. 28

    How to parse this multi dimensional array

  29. 29

    Order array multi-dimensional

HotTag

Archive