获取元素中的所有图片

从元素中获取所有图片,并将它们放入一个数组中。

  • 使用 Element.getElementsByTagName() 获取提供的元素内的所有 <img> 元素。
  • 使用 Array.prototype.map() 来映射每个 <img> 元素的 src 属性。
  • 如果 includeDuplicatesfalse,则创建一个新的 Set 来消除重复项,并在展开为数组后返回。
  • 默认情况下,省略第二个参数 includeDuplicates,以丢弃重复项。
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', '...']