Skip to content

Instantly share code, notes, and snippets.

@Rudiger86
Forked from scottopolis/splice-object-array.js
Last active May 23, 2019 17:08
Show Gist options
  • Save Rudiger86/4c5edbd1ae8fe0b0086a074ef2d72116 to your computer and use it in GitHub Desktop.
Save Rudiger86/4c5edbd1ae8fe0b0086a074ef2d72116 to your computer and use it in GitHub Desktop.
Remove object from array of objects in Javascript
//Data that contains information of some I already have copies of
let allFiles = [
{ filecode: '48099',
filedate: '20180430',
amountinfile: '55' },
{ filecode: '48074',
filedate: '20180429',
amountinfile: '2'},
{ filecode: '48075',
filedate: '20180429',
amountinfile: '97' },
{ filecode: '48051',
filedate: '20180428',
amountinfile: '101' },
{ filecode: '48027',
filedate: '20180427',
amountinfile: '48' },
{ filecode: '48003',
filedate: '20180426',
amountinfile: '143' },
{ filecode: '47978',
filedate: '20180425',
amountinfile: '1' },
{ filecode: '47979',
filedate: '20180425',
amountinfile: '80' },
{ filecode: '47954',
filedate: '20180424',
amountinfile: '1' },
{ filecode: '47955',
filedate: '20180424',
amountinfile: '79' },
{ filecode: '47924',
filedate: '20180423',
amountinfile: '1' },
{ filecode: '47925',
filedate: '20180423',
amountinfile: '90' },
{ filecode: '47900',
filedate: '20180422',
amountinfile: '6' },
{ filecode: '47901',
filedate: '20180422',
amountinfile: '117' },
{ filecode: '47876',
filedate: '20180421',
amountinfile: '2' },
{ filecode: '47877',
filedate: '20180421',
amountinfile: '130' },
{ filecode: '47850',
filedate: '20180420',
amountinfile: '1' },
{ filecode: '47851',
filedate: '20180420',
amountinfile: '159' },
{ filecode: '47829',
filedate: '20180419',
amountinfile: '1' },
{ filecode: '47830',
filedate: '20180419',
amountinfile: '125' },
{ filecode: '47805',
filedate: '20180418',
amountinfile: '1' },
{ filecode: '47806',
filedate: '20180418',
amountinfile: '74' },
{ filecode: '47782',
filedate: '20180417',
amountinfile: '81' },
{ filecode: '47752',
filedate: '20180416',
amountinfile: '54' },
{ filecode: '47728',
filedate: '20180415',
amountinfile: '150' }
];
//Array of files I already have
let alreadyHaveFiles = [
'48099','48074','48075','48051','48027','48003','47978','47979','47954','47955',
'47924','47925','47900', '47901', '47876','47877', '47850'
];
//See how many files I already have
console.log(`Number of files I already have: ${alreadyHaveFiles.length}`)
//Create an independent copy of the allFiles
let tempFiles = allFiles.slice(0);
//Check length of allfiles and tempFiles before
console.log(`Before:\n Files: ${allFiles.length} TempFiles: ${tempFiles.length}`);
//Remove files that I already have from tempFiles and leave allFiles untouched
allFiles.forEach((element) => {
if(alreadyHaveFiles.includes(element['filecode'])){
let removeIndex = tempFiles.map((item) => item['filecode']).indexOf(element['filecode']);
tempFiles.splice(removeIndex, 1);
}
});
//Check length of allFiles and tempFiles after
console.log(`After:\n Files: ${allFiles.length} TempFiles: ${tempFiles.length}`)
//console.log shows the following
// Number of files I already have: 17
// Before:
// Files: 25 TempFiles: 25
// After:
// Files: 25 TempFiles: 8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment