我试图从array.sort调用一个共享的比较器函数来对两个不同的数组进行排序。
如果我有:
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());
发布于 2018-07-27 05:33:48
创建一个命名函数:
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);
发布于 2018-07-27 05:53:14
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);
https://stackoverflow.com/questions/51547781
复制相似问题