采取一系列全名并按姓氏排序

时间:2016-08-04 14:52:02

标签: jquery arrays sorting

我想使用JQuery或JavaScript按姓氏的字母顺序对全名进行排序,但在循环和分割中不断丢失。有人可以帮忙吗?

var names = ["Adam Benson", "Clare Donaldson", "Ben Adams", "Donald Clarkson"]; 

感谢和抱歉,这似乎是一个非常简单的问题!

2 个答案:

答案 0 :(得分:2)

借助 Array#sort String#split String#localeComapre 方法做到这一点。



var names = ["Adam Benson", "Clare Donaldson", "Ben Adams", "Donald Clarkson"];

// sort  array with custom functions
names.sort(function(a, b) {
  // compare lastname part for sorting
  return a.split(' ')[1].localeCompare(b.split(' ')[1]);
})

console.log(names);




仅供参考:如果名称包含中间名部分,请将name.split(' ')[1]更改为name.split(' ').pop()以获取数组中的最后一个元素(即姓氏)。

答案 1 :(得分:2)

您可以使用didSelectItemAtIndexPath函数来实现此目的,该函数按空格分割值并比较结果数组的最后值:



func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
    print("Inside didSelectItemAtIndexPath")
}




如果提供的名称中没有空格,您可能还需要为此代码添加一些验证。