あり、問題の十分な詳細であってもよいが、以下を想定していない可能性があります
- アヤックスユニークマーカーIDのカンマ区切りのリストを持っているテキストを返します。
- あなたはリストまたは前のajax呼び出しの配列ユニークのマーカーIDを持っています。
- 削除するマーカーの一覧と、追加するマーカーの一覧が必要です。
これが当てはまらない場合は、質問を明確にして詳細を追加してください。 "Before"と "After"は良いでしょう。
そうでなければ、このようなアプローチは、動作するはず:
サンプルデータ:
var oldMarkers = [ "Joe's Diner",
"Frank's Bail bonds",
"Precinct 9",
"Fence and Go"
];
var newMarkerStr = "Precinct 9, Memorial Hospital,"
+ " Frank's Bail bonds, Mary's shyster";
//-- Split on commas; strip out boundary whitespace.
var newMarkers = newMarkerStr.split (/(?:\s*,\s*)+(?!(?:\s*,\s*))/);
プロセスようなので:
var toAdd = newMarkers.slice(); //-- Copy the array.
var toDelete = $.grep (oldMarkers, function (marker) {
var K = $.inArray (marker, newMarkers);
if (K == -1) {
//-- Old item not in the list, delete it.
return true;
}
else {
/*-- Old item is in the new list, mark it as
to be removed from the "add" list.
*/
toAdd[K] = -666;
}
return false;
});
toAdd = $.map (toAdd, function (marker) {
return (marker == -666) ? null : marker;
});
See it live at jsFiddle.
"*適用されなくなったデータを削除する*"。 「*** ***該当なし」の基準は何ですか? –
データ(マーカー)は、さまざまな基準に応じて追加および削除されます。 – Jeff
ajaxは削除する項目のリストを返すことができますか? –