这是我从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但它不起作用。
答案 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);