javascript - 如何使用 phonegap 按字母顺序排列从 android 设备获取的联系人?

标签 javascript android cordova jquery-mobile

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

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 但它不起作用。

最佳答案

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

创建一个比较函数:

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

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

contacts.sort(compare);

关于javascript - 如何使用 phonegap 按字母顺序排列从 android 设备获取的联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29490755/

相关文章:

ios - Phonegap 3.3.0 config.xml解析错误

javascript - 使用 PhoneGap 从设备的图片库中选择多张照片

javascript - 如何使用canvas和javascript对图像进行像素化

javascript - 找不到cubejs命令|安装后我无法运行命令

javascript - 如何重启或刷新 Observable?

Javascript 导致 rails 中的链接出现问题

Android:语言环境(系统语言)更改影响我的应用程序布局

java - 连接更改接收器在 android 中获得错误 Intent

java - Camera2 API 使预览填充整个 View

ios - ATTN PhoneGap/Cordova 项目贡献者 : Issue with deviceready callback being called in 2 distinct ways