Vickey
5/2/2020 - 4:49 AM

z_add & remove array

let existing = [1, 2, 3, 5, 67];
let removedIds = [];
let addedIds = [];

function add(newIdsToAdd) {
  let newWidgets = newIdsToAdd.filter(key => !existing.includes(key));
  let _removeList = removedIds.filter(key => !newIdsToAdd.includes(key));
  let check = addedIds.some(key => newIdsToAdd.includes(key));
  if (!check) {
    addedIds.push(...newWidgets);
  }
}

function remove(idsToRemove) {
  let removeIds = idsToRemove.filter(key => existing.includes(key));
  let _addList = addedIds.filter(key => !idsToRemove.includes(key));
  let check = removedIds.some(key => idsToRemove.includes(key));
  if (!check) {
    removedIds.push(...removeIds);
  }
  console.log("updatedAddeList", _addList);
  console.log("removeList", removedIds);
}

function log() {
  console.log(
    "existing",
    existing,
    "\nremovedIds",
    removedIds,
    "\naddedIds",
    addedIds
  );
}
remove([67]);
add([55, 88]);
add([67]);
add([67]);
remove([2]);
log();
function groupByRooms(roomLoc){
        if(roomLoc.success && roomLoc.data && roomLoc.data.length){
            let data = roomLoc.data;
            let result =data.reduce((r, a) => {
                r[a.floor] = [...r[a.floor] || [], a];
                return r;
            }, {});
 
            let roomLocations=Object.keys(result).map(function(key) {
                return { floor:Number(key), data:result[key] };
            });
        }
    }