最佳答案
arguments
对象在JavaScript中是一个奇怪的东西——它在大多数情况下就像一个数组,但它不是实际上数组对象。由于它是完全是另一回事,它没有来自Array.prototype
的有用函数,如forEach
, sort
, filter
和map
。
用简单的for循环从arguments对象构造一个新数组非常简单。例如,这个函数对它的参数进行排序:
function sortArgs() {
var args = [];
for (var i = 0; i < arguments.length; i++)
args[i] = arguments[i];
return args.sort();
}
然而,仅仅为了访问非常有用的JavaScript数组函数,就必须这么做,这是一件相当可怜的事情。是否有一种内置的方法来使用标准库?