这是我从安卓设备获取联系人的代码:
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/