Toon posts:

[JS] Print_r()-achtige functie

Pagina: 1
Acties:
  • 114 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Heb je in JS ook een standaardfunctie (net als in PHP) om de waardes van een array te outputen? Ik gebruik nu altijd de onderstaande methode, maar het zou handiger zijn als er een standaardfunctie voor zou bestaan.

JavaScript:
1
2
3
4
for (i in sArray)
{
     alert(sArray[i]);
}

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:54

crisp

Devver

Pixelated

je kan de toSource method gebruiken op een array, maar als je bv een mooie formatted string wil hebben dan kan je natuurlijk daar je eigen functie of method voor schrijven; standaard is er niet zoiets.

Intentionally left blank


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:54

crisp

Devver

Pixelated

even hatseflats:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
var a = [[0,1],[2,3],4];

function print_r(ar, ind) {

  if (typeof ind == 'undefined') ind = '';
  var s = 'Array\n' + ind + '(\n';
  for (var i in ar) s += ind + '\t[' + i + '] => ' + (typeof ar[i] == 'object' ? print_r(ar[i], ind+'\t') : ar[i]) + '\n';
  return s + ind + ')';

}

var f = print_r(a);
alert(f);


:)

[ Voor 25% gewijzigd door crisp op 06-06-2004 23:38 ]

Intentionally left blank


Verwijderd

Topicstarter
Netjes, netjes!

Edit:

Maar ja, je bent dan ook de 'Master of Pumpkins' of je bent het niet he? :P

[ Voor 75% gewijzigd door Verwijderd op 06-06-2004 23:39 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:54

crisp

Devver

Pixelated

^^^ ik heb 'm inmiddels teruggebracht tot slechts een paar regels ;)

Intentionally left blank


Verwijderd

Misschien helemaal niet wat de TS wil, maar je zou deze functie ook als methode van het Array-prototype kunnen declareren. Als je dan de built-in methode toString overschrijft hoef je 'm niet eens expliciet aan te roepen; dan wordt 'ie automatisch gebruikt als een String wordt verwacht (zoals bij alert).

JavaScript:
1
2
3
4
5
6
7
8
9
var a = [[0,1],[2,3],4];

Array.prototype.toString = function(ind) {

    ....(vervang 'ar' door 'this')

}

alert(a);
Pagina: 1