问题标签 [optional-values]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
220 浏览

regex - 可选字符匹配正则表达式

我有一个条件,我的字符串可能如下所示:

  1. test23@testbee:/var/bee/

或者

  1. 测试蜜蜂:/var/bee/test.html

我需要在这里提取三个字符串:test23(如果可用)、testbee 和 test.html

所以,在 Perl 中,

对于 1. 这给出了 $user = , $sys = test@testbee, $file = test.html 对于 2. 这给出了 $user = , $sys = test, $file = test.html

有没有办法,如果它存在,我可以只使用一个表达式来让用户“测试”,如果它不存在则什么都没有。

0 投票
1 回答
48 浏览

ios - 将 String 转换为 Int 类型并在控制台中打印该 Int 类型时显示错误“在展开可选值时意外发现 nil”?

将 String 转换为 Int 类型并在控制台中打印该 Int 类型时显示错误

在展开可选值时意外发现 nil

ViewController.swift

ViewController2.swift

错误:此方法将打印“在展开可选值时意外发现 nil”

0 投票
0 回答
325 浏览

node.js - Sequelize 嵌套是当包含的主题可能为空时

在我的模型中,我有一个Userwhich belongsTo({ model: Company, as: 'company' })(反之亦然 Company hasMany({ model: User, as: 'members' })

我构建了一个查询如下

如果用户有关联公司,这可以正常工作。但是有一个边缘情况(管理员用户),用户没有关联公司,在这种情况下findAll查询返回[]

如何构建我的查询以仅company.suspendedAt == null在公司存在时才需要,如果公司不存在则忽略公司 where 子句?

0 投票
2 回答
215 浏览

javascript - 如何创建一个可选组,但如果该组存在与我的正则表达式最匹配?

我有这个 JS 正则表达式:

对于文件名,第一组必须是可选的:

完整的名称示例。例子:

没有第一组:

但如果我放任何东西,仍然有效:

任何东西-qq-q-anything => 好的

我希望第一组是可选的,但如果文件名具有第一组,则它必须与我的正则表达式单词 wor 数字匹配。

0 投票
2 回答
987 浏览

swift - 向下转换“任何”时出现 Swift 错误

以下代码几乎与Apple 文档完全相同,编译时没有错误:

标记为的行!!!包含强制向下转换,而替换as!as很明显会导致编译错误'Any?' is not convertible to 'SecIdentity?'...确实SecIdentity是一个类,而Any可能甚至不是一个类。

我真正无法解释的是以下内容。如果我尝试使代码更安全,请使用此

或这个

我得到一个编译错误:Conditional downcast to CoreFoundation type 'SecIdentity' will always succeed

0 投票
0 回答
173 浏览

typescript - 可选值最佳实践的 Redux/typescript 选择器?

所以我在我的 redux 状态roomId中有一个键,它只是在很短的时间内未定义。之后它将始终被定义。

现在的问题是我的状态是这样的:

还有我的选择器

但问题是,在我的所有代码中,我需要检查roomId选择器返回的是否已定义。在所有地方都这样做有点烦人。

还有其他建议可以避免这种情况吗?

我可以在选择器中抛出错误,但在这种情况下听起来也不太正确。

0 投票
4 回答
1138 浏览

swift - 在 Swift 4 中解开一个可选项

我在操场上有以下代码:

行结果 += element * element 给出以下错误“可选类型'Int的值?' 没有打开;你是不是要使用“!” 或者 '?'?” 我不想使用“!” 我必须测试 nil 的情况。我不确定在哪里(甚至如何说实话)打开可选的。建议?

0 投票
3 回答
145 浏览

ios - 为collectionview声明的数组空值可选

我创建了一个数组,它是我的集合视图的数据。我正在尝试点击 CollectionViewCell 并播放包含在我的数组的文件组件中的声音。我不知道如何播放声音,甚至无法开始,因为我的 xcode 项目中的文件为空值。

错误:线程 1:致命错误:在展开可选值时意外发现 nil

如果我不强制打开文件,它会给我一个错误......

0 投票
2 回答
788 浏览

swift - 向后传递数据时,在展开可选值时意外发现 nil

我已经学习 Swift 和 Xcode 大约 3 周了,我正在做一个 Todo 应用程序只是为了练习。但是,当我尝试将新项目添加到我的待办事项列表时,发生错误说“在展开可选值时意外发现 nil”。

我有由 Main.storyboard 创建的主屏幕和主屏幕上的添加按钮。当单击该按钮时,它会转到我通过 Eureka 框架创建的新 ViewController,用户可以在该表单中输入一些信息,如标题、描述、类别并将它们传递回主屏幕。我使用委托协议来传递数据,当我单击“保存项目”按钮时,应用程序崩溃了,它说

“致命错误:在展开可选值时意外发现 nil”。

代码如下:

Todo 类型定义为:

这是控制 main.storyboard 的 ViewController :

感谢您抽出宝贵时间,如果我的问题如此愚蠢,我们深表歉意。

0 投票
0 回答
28 浏览

ios - 在表视图的自定义单元格上隐式展开可选值时意外发现 nil

我正在尝试从数组中在 tableview 上创建一个自定义单元格。当我在我的自定义单元格上附加任何文件时,我在所有文件上都得到了意想不到的零,我不知道为什么

这是我的自定义单元格:

这是我的 tableview cellForRowAtIndexPath 方法:

我错过了什么?当附加任何文件时,我在展开可选值时意外发现 nil - 我不知道 UIlabel 因为 IBOutlet 是可选的?尽管它们在我的自定义单元类中不是可选的。