[JS] Hoe geef ik een array als input aan een js-functie?

Pagina: 1
Acties:

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
In PHP kan ik array's als input aan een functie geven:
PHP:
1
2
3
4
5
6
function foo($array) {
  return implode($array, '-');
}

echo foo(array('appel', 'peer', 'banaan'));
// output: "appel - peer - banaan"

Hetzelfde probeer ik nu in javascript te bereiken, maar het lukt me niet. Er zijn talloze onderwerpen die over dit onderwerp gaan, maar ze werken allemaal op een manier als
Java:
1
2
var theArray = new array('appel', 'peer', 'banaan');
foo(theArray);

Ik wil het graag dat ik het argument waarmee je de functie aanroept, meteen een array kunt maken ipv een variabele die je daarboven aangemaakt hebt:
Java:
1
foo(array('appel', 'peer', 'banaan'));

Maar dan krijg je een error. Is wat ik wil mogelijk en zo ja, hoe? Ik heb al verschillende varianten geprobeerd:
Java:
1
2
3
foo(array('appel', 'peer', 'banaan'));
foo(('appel', 'peer', 'banaan'));
foo(new array('appel', 'peer', 'banaan'));

Maar niets werkte. Wie kent de oplossing?

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:40

crisp

Devver

Pixelated

JavaScript:
1
foo(new Array('appel', 'peer', 'banaan'));
(let op de hoofletter A!)

of:
JavaScript:
1
foo(['appel', 'peer', 'banaan']);

[ Voor 50% gewijzigd door crisp op 22-05-2005 18:11 ]

Intentionally left blank


  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Hey, dank je! Omdat PHP niet case-sensitive is, heb ik nogal de neiging daar bij een andere taal ook niet op te letten. Die tweede zou ik niet op gekomen zijn. Dank je! :)

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:40

crisp

Devver

Pixelated

Reveller schreef op zondag 22 mei 2005 @ 18:37:
Hey, dank je! Omdat PHP niet case-sensitive is, heb ik nogal de neiging daar bij een andere taal ook niet op te letten. Die tweede zou ik niet op gekomen zijn. Dank je! :)
javascript is inderdaad wel case-sensitive ;)

Wat betreft de 2e; ik noem dat een 'shorthand constructor'; de meeste native objecten hebben een dergelijke shorthand constructor:
code:
1
2
3
new Object(...) versus {...}
new Array(...) versus [...]
new RegExp(...) versus /.../

Intentionally left blank