Как я могу преобразовать объект «arguments» в массив в JavaScript?
arguments
объект в JavaScript - странная бородавка - в большинстве случаев он действует как массив, но это не такфактически объект массива. Так как этона самом деле что-то еще полностью, он не имеет полезных функций отArray.prototype
любитьforEach
, sort
, filter
, а такжеmap
.
Тривиально легко создать новый массив из объекта аргументов с помощью простого цикла for. Например, эта функция сортирует свои аргументы:
function sortArgs() {
var args = [];
for (var i = 0; i < arguments.length; i++)
args[i] = arguments[i];
return args.sort();
}
Однако это довольно жалкая вещь, которую нужно сделать, просто чтобы получить доступ к чрезвычайно полезным функциям массива JavaScript. Есть ли встроенный способ сделать это с помощью стандартной библиотеки?