如何检查元素是否存在?

时间:2018-04-03 16:01:13

标签: react-native map-function

我正在做一个下载一些图像并将其保存在手机记忆库中的应用程序。但有时候图像列表会发生变化,所以我需要删除那些不再需要的图像。为此,我有一个json包含我的所有数据,包括当前的图像名称,我想比较我存储在手机中的图像和我的json上的图像。当它发现图像与json的图像不匹配时,它会删除它。

deleteImages(){
    let img = false;
    const x = this.state.data.monuments.length-1;
    const y = this.state.data.monuments[x].monuments.length-1;
    const z = this.state.data.monuments[x].monuments[y].pois.length-1;

return (
  RNFS.readDir(RNFS.DocumentDirectoryPath)
  .then( result => {
      result.map((r, index) => {
        this.state.data.monuments.map((i, indexCategorias) => i.monuments.map((j, indexMonuments) => {
          if (r.name == j.image_md5 + '.jpg'){
            img = true;
          }

          j.pois.map((k, indexPois) => {
            if (r.name == k.image_md5 + '.jpg'){
              img = true;
            }

            if (indexCategorias==x && indexMonuments==y && indexPois==z && img == false){
              RNFS.unlink(r.path)
                .then(() => {
                  console.log('FILE DELETED');
                })
                .catch((err) => {
                  console.log(err.message);
                });
            }

            if(indexCategorias==x && indexMonuments==y && indexPois==z && img == true){
              img = false;
            }

          })


        }))
      }) //end of map function
  }) //end of .then(result)

)
} //end of deleteImages

我的代码正在运行,但我这样做的方式非常糟糕。使用RNFS库我有一种方法'存在'如果在目录中存在或不存在确定的字符串,那么地图函数上是否有类似的东西?喜欢map.exist ou map.has?我只是想让我的代码更有效率。

0 个答案:

没有答案