0

ログインしている 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"}
  ]

ありがとう

4

2 に答える 2

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) }
    );
}

MDN の Array.filter

于 2013-01-15T07:06:29.760 に答える
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/)

于 2013-01-15T07:07:10.570 に答える