您可以同時添加和刪除的項目是這樣的:
var origArray = [...]; // assume first set of data is in origArray
var newArray = [...]; // second set of data is in newArray
function makeMap(array, key) {
var map = {};
for (var i = 0; i < array.length; i++) {
map[array[i][key]] = true;
}
return(map);
}
function compareArrayToMap(array, map) {
var item, var results = [];
for (var i = 0; i < array.length; i++) {
item = array[i];
if (!(item.id in map)) {
results.push(item);
}
}
return(results);
}
// build id map for each array
var origMap = makeMap(origArray, "id");
var newMap = makeMap(newArray, "id");
// find items that have been removed
var removedItems = compareArrayToMap(origArray, newMap);
// find items that have been added
var addedItems = compareArrayToMap(newArray, origMap);
是'id'唯一的每個對象? – climbage 2012-07-13 16:43:15
@climbage是的,它是 – Andrew 2012-07-13 16:43:39
HTML是什麼樣的? – climbage 2012-07-13 16:46:48