2017-02-15 3 views
2

Je me demandais s'il serait possible de créer un tableau infiniment long, de sorte que tout nombre que je mettrais dans ma fonction: par exemple: la fonction arr (2,3,4,5,6,7), serait traitée comme un tableau et mettre dans une "table", mais il n'a pas été question combien de nombre je mis, la table s'étendrait juste! Y a-t-il une commande que je peux appeler qui crée un tel tableau?Est-il possible de créer un tableau infini (en javascript) et de le donner à une fonction?

+0

Dans quelle langue? Peut-il être paresseux? Évidemment, il y a un stockage fini disponible. –

+0

En javascript, je suis nouveau à la programmation et pas si familier avec ces concepts. –

+0

Peut-être que vous voulez dire une liste d'arguments de longueur arbitraire au lieu d'un tableau de longueur infinie? –

Répondre

2

En JavaScript, dans n'importe quelle fonction il y a a variable available appelé arguments. Vous pouvez le traiter comme un tableau et énumérer les arguments passés dans la fonction, peu importe le nombre.

+1

Eh bien, techniquement, les fonctions fléchées n'ont pas de variable 'arguments', mais je m'attends à ce que l'OP ne s'en préoccupe pas encore. –

0

javascript traite des arguments comme un tableau qui peut être appelé au sein de la fonction

var myFunction = function(){ 
    console.log(arguments[i]); 
} 

si vous voulez passer un tableau comme une liste d'arguments à l'utilisation du tableau:

var myArray = [1,2,3]; 
myFunction(...myArray); 

plus : https://www.w3schools.com/js/js_function_parameters.asp

1

Vous pouvez en ajouter autant que vous le souhaitez, mais cela ralentira votre navigateur ou le bloquera.
Mais vous pouvez réinitialiser votre tableau lorsque vous avez terminé.
Un tableau est techniquement infini si vous ne le limitez pas quand il est initialisé, mais le stockage est fini, alors faites attention.

var myarray = []; 
 
function arr(elements) { 
 
    myarray.push(elements); 
 
} 
 
arr(1); 
 
arr(2); 
 
arr(3); 
 
console.log(myarray); 
 
myarray = []; 
 
arr(4); 
 
arr(5); 
 
arr(6); 
 
console.log(myarray);