繁体   English   中英

如何在javascript中为array.sort调用共享比较函数?

[英]How can I call a share compare function for array.sort in javascript?

我试图从array.sort调用共享比较器函数来排序2个不同的数组。

如果我有:

projects.sort(
        function(a, b){
          var x = a.name.toLowerCase();
          var y = b.name.toLowerCase();
          if (x < y) {return -1;}
          if (x > y) {return 1;}
          return 0;
        });

products.sort(
        function(a, b){
          var x = a.name.toLowerCase();
          var y = b.name.toLowerCase();
          if (x < y) {return -1;}
          if (x > y) {return 1;}
          return 0;
        });

我怎样才能做到这一点?

projects.sort(sortArray());
products.sort(sortArray());

创建一个命名函数:

function compare(a, b){
  var x = a.name.toLowerCase();
  var y = b.name.toLowerCase();
  if (x < y) {return -1;}
  if (x > y) {return 1;}
  return 0;
}

然后你可以在调用sort时引用这个函数:

projects.sort(compare);
products.sort(compare);
function sortItems(a,b) {
  var   x = a.name.toLowerCase(),
        y = b.name.toLowerCase()

  return x.localeCompare(y);
 }

// Then use this
projects.sort(sortItems);
products.sort(sortItems);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM