搜索并过滤Facebook返回的JSON朋友列表

时间:2013-01-15 06:39:48

标签: jquery json search

我正在尝试获取已登录Facebook用户的朋友。我使用fql,我想更新搜索框中输入的每个字母的列表。我在fql中这样做,这样就行了。

我碰巧读到最好一次阅读所有朋友,然后搜索JSON对象。

对于数组

[{"uid":"1235","name":"user1_abcde","picture":"picurl"},
 {"uid":"1237","name":"user2_abcde","picture":"picur2"},
 {"uid":"1289","name":"user3_agere","picture":"picur3"}
]

如何排序,在数组中获取搜索字符串的结果(例如:“de”)部分匹配名称字段以返回

 [{"uid":"1235","name":"user1_abcde","picture":"picurl"},
   {"uid":"1237","name":"user2_abcde","picture":"picur2"}
  ]

由于

2 个答案:

答案 0 :(得分:0)

var searchFriend = function( str ){
    /* make search case-insensitive */
    str = str.toLowerCase();
    /* assuming `friendsArray` is your cached JSON response */
    return friendsArray.filter( 
        function( i ){ return (i['name'].toLowerCase().indexOf( str ) > -1) }
    );
}

Array.filter at MDN

答案 1 :(得分:0)

首先,您需要解析json,然后使用正则表达式进行搜索。

function search(json, regex) {
    var result = [];
    $.each(JSON.parse(json), function(i, row) {
       if (row.name.match(regex)) {
          result.push(row);
       }
    });
    return result;
}

您可以使用该功能搜索de search(json, /de/)