JavaScript函数名称排序

想对 JS 中包含函数的数组进行排序?其实挺,只需要用Array.prototype.sort()方法就能搞定。不过呢,JS 默认的排序是按照字符串的 Unicode 编码值来的,直接排序会让你吃个小亏。所以得一个比较函数来定义规则,确保函数按照名称排序。比如你可以用localeCompare()方法按字母顺序排列。也可以通过转换函数名为小写来忽略大小写差异,保证排序一致。别担心,代码就这么简单:

let functions = [
  function funcB() {},
  function funcA() {},
  function funcC() {}
];
functions.sort(function(a, b) {
  return a.name.localeCompare(b.name);
});
容易上手吧!需要注意的是,获取函数名称一般使用fn.name,而且这方法不仅适用于自己写的函数,外部模块引入的也一样可以搞定。如果你有更复杂的排序需求,调整比较函数就行,蛮灵活的。值得一提的是,压缩包里的FunctionSort也许有示例代码和测试用例,给你更多启发。

rar 文件大小:33.08KB