O arguments
objeto em JavaScript é uma verruga estranha - ele atua como uma matriz na maioria das situações, mas na verdade não é um objeto de matriz. Desde que é realmente algo completamente diferente , ele não tem as funções úteis de Array.prototype
como forEach
, sort
, filter
, e map
.
É trivialmente fácil construir uma nova matriz a partir de um objeto de argumentos com um loop for simples. Por exemplo, esta função classifica seus argumentos:
function sortArgs() {
var args = [];
for (var i = 0; i < arguments.length; i++)
args[i] = arguments[i];
return args.sort();
}
No entanto, isso é algo lamentável a ser feito simplesmente para obter acesso às funções extremamente úteis da matriz JavaScript. Existe uma maneira interna de fazer isso usando a biblioteca padrão?