FlyingCat
FlyingCat

Reputation: 14288

How to output Multi-Dimensional array value

I am trying to display a multi-dimensional array in javascript. Could someone help me about my code? Thanks.

for (var i=0;i<array.length;i++){

    for (var a=0;a<array[i].length;a++){

       //document.write(array[0][0])    //this will have output
       document.write(array[i][a])      //this won't.

    }

}

updated:

my array

The array was created from php then use json_encode to parse to JS.

   Array
(
    [0] => SimpleXMLElement Object
        (
            [0] => In UK, HTC Defeats Apple's "Obvious" Slide Unlock Patent
        )

    [1] => SimpleXMLElement Object
        (
            [0] => timothy
        )

    [2] => SimpleXMLElement Object
        (
        )

    [3] => SimpleXMLElement Object
        (
            [0] => 2012-07-05T14:10:00+00:00
        )

    [4] => SimpleXMLElement Object
        (
            [0] => WikiLeaks Begins Release of 2.5m Syrian Emails
        )

    [5] => SimpleXMLElement Object
        (
            [0] => timothy
        )

    [6] => SimpleXMLElement Object
        (
        )

    [7] => SimpleXMLElement Object
        (
            [0] => 2012-07-05T13:29:00+00:00
        )

    [8] => SimpleXMLElement Object
        (
            [0] => A Critical Examination of Bill Gates' Philanthropic Record
        )

    [9] => SimpleXMLElement Object
        (
            [0] => samzenpus
        )

    [10] => SimpleXMLElement Object
        (
        )

    [11] => SimpleXMLElement Object
        (
            [0] => 2012-07-05T12:07:00+00:00
        )

    [12] => SimpleXMLElement Object
        (
            [0] => Ask Slashdot: How Does Your Company Evaluate Your Performance?
        )

    [13] => SimpleXMLElement Object
        (
            [0] => samzenpus
        )

    [14] => SimpleXMLElement Object
        (
        )

    [15] => SimpleXMLElement Object
        (
            [0] => 2012-07-05T08:52:00+00:00
        )

    [16] => SimpleXMLElement Object
        (
            [0] => UAV Cameras an Eye In the Sky For Adventurous Filmmakers
        )

    [17] => SimpleXMLElement Object
        (
            [0] => samzenpus
        )

    [18] => SimpleXMLElement Object
        (
        )

    [19] => SimpleXMLElement Object
        (
            [0] => 2012-07-05T05:55:00+00:00
        )

    [20] => SimpleXMLElement Object
        (
            [0] => Copyrights To Reach Deep Space
        )

    [21] => SimpleXMLElement Object
        (
            [0] => samzenpus
        )

    [22] => SimpleXMLElement Object
        (
        )

    [23] => SimpleXMLElement Object
        (
            [0] => 2012-07-05T02:46:00+00:00
        )

    [24] => SimpleXMLElement Object
        (
            [0] => FDA Approves HIV Home-Use Test Kit
        )

    [25] => SimpleXMLElement Object
        (
            [0] => samzenpus
        )

    [26] => SimpleXMLElement Object
        (
        )

    [27] => SimpleXMLElement Object
        (
            [0] => 2012-07-05T00:13:00+00:00
        )

    [28] => SimpleXMLElement Object
        (
            [0] => Texas Scientists Regret Loss of Higgs Boson Quest
        )

    [29] => SimpleXMLElement Object
        (
            [0] => samzenpus
        )

    [30] => SimpleXMLElement Object
        (
        )

    [31] => SimpleXMLElement Object
        (
            [0] => 2012-07-04T23:25:00+00:00
        )

    [32] => SimpleXMLElement Object
        (
            [0] => Icelandic MP Claims US Vendetta Against WikiLeaks
        )

    [33] => SimpleXMLElement Object
        (
            [0] => Soulskill
        )

    [34] => SimpleXMLElement Object
        (
        )

    [35] => SimpleXMLElement Object
        (
            [0] => 2012-07-04T22:38:00+00:00
        )

    [36] => SimpleXMLElement Object
        (
            [0] => Microsoft's 'Cannibalistic Culture'
        )

    [37] => SimpleXMLElement Object
        (
            [0] => Soulskill
        )

    [38] => SimpleXMLElement Object
        (
        )

    [39] => SimpleXMLElement Object
        (
            [0] => 2012-07-04T21:50:00+00:00
        )

    [40] => SimpleXMLElement Object
        (
            [0] => Android 4.1 Jelly Bean Review
        )

    [41] => SimpleXMLElement Object
        (
            [0] => Soulskill
        )

    [42] => SimpleXMLElement Object
        (
        )

    [43] => SimpleXMLElement Object
        (
            [0] => 2012-07-04T21:04:00+00:00
        )

    [44] => SimpleXMLElement Object
        (
            [0] => John the Ripper Cracks Slow Hashes On GPU
        )

    [45] => SimpleXMLElement Object
        (
            [0] => Soulskill
        )

    [46] => SimpleXMLElement Object
        (
        )

    [47] => SimpleXMLElement Object
        (
            [0] => 2012-07-04T20:38:00+00:00
        )

)

Upvotes: 0

Views: 2591

Answers (4)

Nhu Trinh
Nhu Trinh

Reputation: 13986

I usually use for each for an array, in js you can do like this

var array = [];
array[0] = ['foo', 'bar'];
array[1] = ['baz'];
for (i in array){
    for (j in array[i]){
       document.write(array[i][j])      //this won't.
    }
}

Someone said this is not safe but it still work :D

Upvotes: 0

codingbiz
codingbiz

Reputation: 26396

Try this

function writeMultiArrayToConsole(arr)
{
var console = document.getElementById('mydiv');
var msg = '';
for(var i=0;i<arr.length;i++)
{
    for(var j=0;j<arr[0].length;j++)
        msg += arr[i][j];
    msg += '<br />';
}
console.innerHTML = msg;
}

Upvotes: 1

JaredMcAteer
JaredMcAteer

Reputation: 22555

Code works fine, your array must be invalid.

http://jsfiddle.net/DZwaK/

Upvotes: 3

Elias Van Ootegem
Elias Van Ootegem

Reputation: 76408

This works fine for me, used array = [[1,2],[3,4]]; as a test array, output: 1234. what do you get when you do document.write(JSON.parse(array)); or console.log(array);?

Upvotes: 1

Related Questions