const data = require('./data') let arr = data .split(/\n/g).filter(Boolean) .map(l => l.replace(')','').split(' (contains ')) .map(l => [l[0].split(' '), l[1].split(', ')]) const ingredients = {} const allergens = {} for (let i=0; i { Object.entries(ingredients).forEach(ingredient => { if(allergen.every(a => ingredient[1].includes(a))) { delete ingredients[ingredient[0]] } }) }) const answer = Object.values(ingredients).map(i => i.length).reduce((a, b) => a + b, 0) console.log('Answer: ', answer)