@antv/g2
Version:
the Grammar of Graphics in Javascript
30 lines • 887 B
JavaScript
/**
* 对比当前元素和之前的元素,返回 added, updated, removed
* @param keyItem 之前的元素的,按照 key-item 的 object 的形式存储
* @param keys 现在的元素,按照 array 的形式存储
* @returns 由 added, updated, removed array 构成的 object
*/
export function diff(keyItem, keys) {
var added = [];
var updated = [];
var removed = [];
var keyIncluded = new Map();
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (keyItem[key])
updated.push(key);
else
added.push(key);
keyIncluded.set(key, true);
}
Object.keys(keyItem).forEach(function (key) {
if (!keyIncluded.has(key))
removed.push(key);
});
return {
added: added,
updated: updated,
removed: removed,
};
}
//# sourceMappingURL=diff.js.map