过滤联系人以显示或仅显示设定数量的联系人

时间:2013-05-10 00:19:35

标签: javascript windows-8 windows-runtime winjs

我的应用正在调用pickMultipleContactAsync方法,该方法返回联系人列表。如果我只想过滤特定的contats来显示或仅显示一定数量的联系人,WinJS是否提供了任何特定的方法或模式来执行此操作?我知道,因为它是一个列表,我可能会使用一些标准谓词类型的东西来做这种类型的过滤,但我想知道是否有任何特定的WinJS API来做这件事。

2 个答案:

答案 0 :(得分:2)

WinJS.Binding.List使用称为“投影”的功能来创建由谓词过滤的第二个列表,该列表将在原始列表更改时自动更新。 使用createFiltered功能,然后您可以在WinJS.UI.ListView中使用结果列表。

答案 1 :(得分:1)

在这种情况下可以使用

Array.filter

var picker = Windows.ApplicationModel.Contacts.ContactPicker();
picker.commitButtonText = "Select";
picker.pickMultipleContactsAsync().then(function (contacts)
{
    var contactsStartingWithPrefixPa = contacts.filter(function filterContacts(contact)
    {
        if (contact.name.match(/^Pa/))
            return true;
        return false;
    });
});