首页 > 解决方案 > 如果数组包含文本,则显示名称

问题描述

这是一个两部分的问题。我正在学习 JavaScript ES6 / JavaScriptCore,如果名称的一部分包含某些文本并且它是一个目录,我正在尝试显示一个文件夹名称。

下面的代码当前显示所有孩子,并通过添加 true 告诉我它是否是一个目录,它还在查看孩子的名字是否包含 ClientName。

这在一定程度上有效。不幸的是,当我只想查看匹配项时,它会记录所有子项,其次是行(else if)(我试图在其中查找它是否是目录以及 ClientName 是否匹配)不起作用。

这是我的变量日志,所以你知道什么是什么

2020-08-12 16:40:25: {}
2020-08-12 16:40:25: /private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/Batman
2020-08-12 16:40:25: ABC Group, The
2020-08-12 16:40:25: true | ABC Group, The (ABCG01)
2020-08-12 16:40:25: true | Hello Dave
2020-08-12 16:40:25: false | hello you.md
2020-08-12 16:40:25: true | Hello Paul

如果是目录则输出 true,如果是文件则输出 false。

到目前为止,这是我的代码:

let fmCloud = FileManager.iCloud()
let strPath = fmCloud.bookmarkedPath("Batman")
let ClientName = "ABC Group, The"
console.log (fmCloud)

console.log (strPath)

console.log (ClientName)


fmCloud.listContents(strPath).forEach( function(p_strPath)
{
  let hello = fmCloud.isDirectory(strPath + "/" + p_strPath) + " | " + p_strPath
  console.log(hello)

if (p_strPath.includes(ClientName)) console.log('Client exists')
  else if (p_strPath.includes(ClientName) & hello.includes == true ) console.log('Client exists and is a directory')
  else console.log('Client does not exist or is not a directory')
})

这是我提交 JavaScript 后的变量日志。

2020-08-12 17:05:13: {}
2020-08-12 17:05:13: /private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/Batman
2020-08-12 17:05:13: ABC Group, The
2020-08-12 17:05:13: true | ABC Group, The (ABCG01)
2020-08-12 17:05:13: Client exists and is a directory
2020-08-12 17:05:13: true | Hello Dave
2020-08-12 17:05:13: Client does not exist
2020-08-12 17:05:13: false | hello you.md
2020-08-12 17:05:13: Client does not exist
2020-08-12 17:05:13: true | Hello Paul
2020-08-12 17:05:13: Client does not exist

我的问题的第二部分是,而不是寻找 Ie A ClientName 我如何搜索 '(' Ie (ABCDEFG) 之后的 Ie 4 个未知字符我想找到 ABCD?

标签: javascriptjavascriptcore

解决方案


推荐阅读