J'essaie d'exécuter une fonction sur mes arguments, qui est de longueur variable. Je n'arrive pas à exécuter une fonction sur mon tableau d'arguments, y compris le tri.

function findKeyFromNotes()
    {
         var notes = arguments.slice(); 
         return notes;  
    }

Je reçois cette erreur:

TypeError: arguments.slice is not a function

Merci, Nakul

1
Nakul Tiruviluamala 5 nov. 2019 à 03:27

1 réponse

Meilleure réponse

Dans le JavaScript moderne, vous pouvez utiliser la syntaxe étendue pour collecter tous les arguments dans une seule valeur de tableau:

function findKeyFromNotes(... notes) {
  // notes will be an array
}

En JavaScript "traditionnel", la meilleure chose à faire serait:

function findKeyFromNotes() {
  var notes = [];
  for (var i = 0; i < arguments.length; ++i) notes[i] = arguments[i];
  // now notes is a plain array
}
1
Pointy 5 nov. 2019 à 00:31