如何使用phonegap从Android设备中按字母顺序订购联系人?

时间:2015-04-07 11:42:38

标签: javascript android cordova jquery-mobile

这是我从Android设备获取联系人的代码:

function onDeviceReady() 
{
    var options = new ContactFindOptions();
    options.filter="";  
    options.multiple=true;
    var fields = ["*"];
    navigator.contacts.find(fields, onSuccess, onError, options);
}
function onSuccess(contacts) 
{
    alert('Total Contacts '+contacts.length);
    for (var i = 0; i < contacts.length; i++) 
    {
        if(contacts[i].phoneNumbers.length>0)
        {
            document.getElementById("demo").innerHTML+=contacts[i].displayName+"-"+ contacts[i].phoneNumbers[0].value+"<br/>";
        }
    }
}

我可以获取所有联系人,但我希望它们按字母顺序显示。请帮我。我也尝试过options.sort但它不起作用。

1 个答案:

答案 0 :(得分:1)

假设返回的contacts变量是一个对象数组,并且您希望按displayName属性进行排序。

创建比较功能:

function compare(a,b) {
  if (a.displayName< b.displayName)
     return -1;
  if (a.displayName> b.displayName)
    return 1;
  return 0;
}

然后在迭代数组之前调用compare()传递比较函数:

contacts.sort(compare);