getImages

Fetches all images from within an element and puts them into an array.

  • Use Element.getElementsByTagName() to get all <img> elements inside the provided element.
  • Use Array.prototype.map() to map every src attribute of each <img> element.
  • If includeDuplicates is false, create a new Set to eliminate duplicates and return it after spreading into an array.
  • Omit the second argument, includeDuplicates, to discard duplicates by default.
const getImages = (el, includeDuplicates = false) => {
  const images = [...el.getElementsByTagName('img')].map(img =>
    img.getAttribute('src')
  );
  return includeDuplicates ? images : [...new Set(images)];
};
getImages(document, true); // ['image1.jpg', 'image2.png', 'image1.png', '...']
getImages(document, false); // ['image1.jpg', 'image2.png', '...']