javascript - 提供给匿名函数的参数

标签 javascript arrays

我编写了自定义排序例程 (sortArray(a, b)) 来对我拥有的数组进行排序。

如果我这样调用它

    a.sort(function (v1, v2) { return sortArray(v1, v2); });

一切正常。

如果我这样调用它:

    a.sort(sortArray(v1, v2));

v1 和 v2 引发错误,因为未定义。

如果不创建一个匿名函数来初始接收它们,然后将它们传递给用户定义的函数,是否就无法利用 .sort() 方法传递的参数?

最佳答案

Array.prototype.sort 需要一个函数引用,但您正在尝试调用 sortArray 并传递该调用的返回值。您应该只传递对函数的引用:

a.sort(sortArray);

因为 sortArray 已经需要两个参数,所以它应该可以正常工作,v1v2 将自动传递。

关于javascript - 提供给匿名函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17927799/

相关文章:

arrays - 杂耍算法时间复杂度

javascript - 使用 Selenium JavaScript 上传图片

javascript - 任意泛型的 typescript map

javascript - Map.filter()没有返回预期的输出

arrays - 如何在 Swift 中访问括号中的嵌套 JSON?

php - 内部数组的 array_unique

c# - 如何动态检查数组中的索引是否存在?

javascript - jQuery : To find the closest tr class

javascript - jQuery:如何记住多步 Rails 3 表单中的选择?

javascript - 等待递归函数时获取未定义的结果