从另一个数组中过滤出一个项目数组

时间:2020-09-23 18:09:41

标签: javascript reactjs

在加载时,我收到了要从用户视图中隐藏的图像URL列表。

我也有所有原始图片URL的数组。

我想创建一个不包含隐藏图像URL的新数组。

我正在使用array.filter()函数,但没有从数组中删除URL。

我认为这是我加载函数的方式,因为隐藏的图像最初是空的,然后又重新加载并且在那里具有其值,但是我不确定如何使它正常工作。

>

感谢您的见解。

useEffect(() => {
  async function getImage(jobID) {
    const imageURL = await Storage.list(`${jobID}/completed/`);
    let imagesAsArray = [];
    for (let i = 0; i < imagesToDownload.length; i++) {
      const imagesDownloaded = await getURLFromS3(imagesToDownload[i]);
      imagesAsArray.push(imagesDownloaded)
    }
    return imagesAsArray
  }

  async function onLoad() {
    try {
      const downloadedImage = await getImage(job);
      if (hiddenImages !== null) {
        hide(downloadedImage)
      } else {
        setImages(downloadedImage);
      }
    } catch (e) {
      alert(e);
    }
  }
  onLoad();
}, [job]);

function hide(imagesToFilter) {
  const ImagesToView = (imagesToFilter).filter(image =>(!image.includes(hiddenImages)));
  console.log(ImagesToView)
  setImages(ImagesToView);
}

hiddenImages值示例:

enter image description here

console.log(ImagesToView)

enter image description here

0 个答案:

没有答案