Đối arguments
tượng trong JavaScript là một mụn cóc kỳ lạ, nó hoạt động giống như một mảng trong hầu hết các tình huống, nhưng thực tế nó không phải là một đối tượng mảng. Vì nó là thực sự một cái gì đó khác hoàn toàn , nó không có các chức năng hữu ích từ Array.prototype
như forEach
, sort
, filter
, và map
.
Thật dễ dàng để xây dựng một mảng mới từ một đối tượng đối số với một vòng lặp for đơn giản. Ví dụ, hàm này sắp xếp các đối số của nó:
function sortArgs() {
var args = [];
for (var i = 0; i < arguments.length; i++)
args[i] = arguments[i];
return args.sort();
}
Tuy nhiên, đây là một điều khá đáng tiếc phải làm chỉ đơn giản là để có quyền truy cập vào các hàm mảng JavaScript cực kỳ hữu ích. Có một cách tích hợp để làm điều đó bằng cách sử dụng thư viện tiêu chuẩn?