Si je donne les résultats suivants:arguments Écrasement objet pour une fonction Javascript
// Clean input.
$.each(arguments, function(index, value) {
arguments[index] = value.replace(/[\W\s]+/g, '').toLowerCase();
});
Serait-ce une mauvaise chose à faire? Je n'ai plus aucune utilité pour les arguments non nettoyés dans la fonction, et ce serait bien de ne pas créer une copie inutile de arguments
juste pour les utiliser, mais y a-t-il des effets négatifs à faire cela?
Idéalement, je l'aurais fait, mais je devine que cela va dans les problèmes depuis arguments
est pas vraiment un tableau:
arguments = $.map(arguments, function(value) {
return value.replace(/[\W\s]+/g, '').toLowerCase();
});
Merci pour toute entrée.
EDIT: Je viens de réaliser que ces deux fonctions sont maintenant dans leurs propres fonctions, donc l'objet arguments a changé. Tout moyen de le faire sans créer une variable inutile?
Oui, vous pouvez mettre à jour les valeurs dans un objet Arguments tout comme vous pouvez mettre à jour la valeur d'un paramètre formel. (Ils sont la même chose Les paramètres formels sont mappés en interne à l'objet Arguments.) Mais si OP voulait finalement manipuler les arguments en tant que collection, alors la conversion en un tableau avec '$ .map' est la voie à suivre . – user113716