underscore.js と jquery を使用して構築している単純な Web アプリで。すべての人 (js オブジェクト) のリストについては、訪問したすべての場所 (js オブジェクト) のリストを除外しています。td
人物リストは、クリックすると訪問したすべての場所のリストを表示する場所の画像アイコンを持つhtml テーブルです。アイコンは、少なくとも 1 つの場所を訪れた人にのみ表示する必要があります。ここでの問題は、人や場所のカウントが発生すること2000
です100
。したがって、以下のコードは2000*100
組み合わせを実行します。ブラウザから、スクリプトが応答しないと不平を言われます。コードは以下に提供されています
_.each(peopleList, function (person, index, list) {
//filter the respective places for people
var visitedPlaces = _.filter(places, function (place) {
return place.PeopleId == person.Id;
});
if (_.isEmpty(visitedPlaces)) {
$("a#" + place.PeopleId).remove();
}
});
とてもシンプルですね。各人について、訪問した場所が追跡されているかどうかを確認します。上記のコードを最適化して、ブロックを解除してレスポンシブにする方法を教えてください。_.defer
とところどころ入れてみ_.delay
たが改善せず