只是想知道为什么我使用以下简单的JavaScript函数出错了
function highest(){
return arguments.sort(function(a,b){
return b - a;
});
}
highest(1, 1, 2, 3);
错误消息:TypeError:arguments.sort不是函数。
我很困惑,因为它是一个数组(我想)。请帮忙解释原因。非常感谢
答案 0 :(得分:15)
因为arguments
没有sort
方法。请注意,arguments
不是Array
对象,而是类似数组的Arguments
object。
但是,您可以使用Array.prototype.slice
将arguments
转换为数组;然后您就可以使用Array.prototype.sort
:
function highest(){
return [].slice.call(arguments).sort(function(a,b){
return b - a;
});
}
highest(1, 1, 2, 3); // [3, 2, 1, 1]
答案 1 :(得分:1)
另一种方法是通过将参数声明为数组。
df = pd.Series(array1)/array1[0]*100
因此,最高()可以定义为;
var myArguments = [1, 1, 2, 3];
var sortedArguments = [];
答案 2 :(得分:1)