如何使用 phonegap 按字母顺序排列从 android 设备获取的联系人?
How to order the contact alphabetically that are fetched from android device using phonegap?
这是我从 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 但它不起作用。
假设返回的联系人变量是一个对象数组,并且您想按显示名称排序 属性。
创建比较函数:
function compare(a,b) {
if (a.displayName< b.displayName)
return -1;
if (a.displayName> b.displayName)
return 1;
return 0;
}
然后调用 sort() 传入比较函数,然后迭代数组:
contacts.sort(compare);
这是我从 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 但它不起作用。
假设返回的联系人变量是一个对象数组,并且您想按显示名称排序 属性。
创建比较函数:
function compare(a,b) {
if (a.displayName< b.displayName)
return -1;
if (a.displayName> b.displayName)
return 1;
return 0;
}
然后调用 sort() 传入比较函数,然后迭代数组:
contacts.sort(compare);