问题标签 [ternary]
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.
python - 带有列表理解的python三元迭代
三元迭代是否可行?我的意思的简化版本,尽管这个特定的例子可以用更好的方式完成:
一个更实际的例子:
javascript - 这个三元运算符有什么问题?
我有一个对象menuNames
应该维护一个菜单项列表。如果menuNames
已经有slug
,则增加值,如果它不包含slug
,则将值设置为1
。我这样做是为了跟踪唯一名称。我想最终得到类似的东西:
这不起作用(这将包含在遍历每个 slug 的循环中):
但这确实有效(这将包含在遍历每个 slug 的循环中):
java - 三元运算符
为什么以下代码的输出是 9.0 而不是 9 ?如果三元运算符只不过是 if-else 分支的简短形式,那么为什么 java 编译器将 int 提升为 double ?
checkbox - 签入/签入 HTML 复选框中的三元运算
我的 JavaScript 吐出动态 HTML,其中一个字段是基于布尔值的复选框,如下所示:
即使 Boolean 为 false ,我的复选框也始终返回选中状态。对三元运算有什么建议吗?
我也刚刚意识到,每行复选框都很难有 id。这是我的功能目前的样子:
函数 fnBuildWebSiteClipHtml(名称、url、id、allow_removal、use_full_screen){
}
第 8 行,我检查 allow_removal,然后检查 use_full_screen 是我试图让我的复选框跟随的行。对此的任何建议都非常感谢。
感谢您已经发布的回复,但我不确定在这种情况下如何适应。
php - PHP 中的简写 IF 语句
我想知道以下是否可能。我希望我在下面写的 if 语句在一行(三元)中。
我想在 cURL 的数组中使用三元(速记 php 代码)。
表单数据示例:
如果声明:
数组示例:
如果可能的话,有什么想法吗?
亲切的问候亚历克斯
php - PHP三元内部连接没有别的?
我想检查 2 个变量是否相同,如果是,则回显一个字符串。这可能在串联中吗?并在不创建单独功能的情况下做到这一点?
例如
$var = 'here is the first part and '. ( $foo == $bar ) ? "the optional middle part" .' and the rest of the string.'
编辑
请注意,我正在寻找是否有办法在没有: ''
. 如果您愿意,可以使用“二元运算符”。
c++ - 这个三元表达式的 if else 语句是什么等价的?
我已经在互联网上搜索三元/if else 等价物,但这似乎很奇怪,因为它一开始就有回报。
来自 cplusplus 网站:(条件)?(if_true) : (if_false)
谢谢你
diagram - 三元图(C++ 和 C#)的用户友好界面
有谁知道如何公开一个用户友好的界面或代码。我刚刚开发了一个绘制三元图的界面。我知道有些软件可以做同样的事情,但是有了这个,用户可以在三元图中选择一个特定的区域来绘制数据(例如,石油工程需要这种能力)。我还有用于 Delaunay 三角剖分、voroni 图、网格划分和颜色映射的 MATLAB、C++、C# 代码。我想也许它们对其他人有用。我希望我可以上传一些我的作品的照片,但我需要至少有 10 个声望。
谢谢,
php - 用PHP中的逻辑表达式替换IF
当我偶然发现类似这样的构造时,我正在重构一些旧代码:
现在看起来很奇怪,这要短得多
然后更具可读性(至少在最初的惊喜之后)
虽然更短的代码并不一定意味着更易读的代码,但我发现它位于上述两种“标准”方式的中间。
换句话说,而不是
可以简单地写
那么,这背后的原因是什么?是否可以像“不要重新发明轮子,写更易读的 if/else,如果你真的想缩短它,这就是三元运算符的用途”那么简单?
编辑:请记住,上面的代码是从原始代码快速派生出来的,只是一个使用“短路”代码的例子。如果可以,请不要建议代码改进,因为这不是问题的预期结果。
示例 2
c# - 使用三元语句将扩展方法分配给委托
假设
假设我们有一个接口,并且为该接口定义了以下扩展方法(它们的实现并不重要)
问题
我们知道这两种扩展方法本质上是相同的,因为它们接受 2 个 type 参数IPerson
和 return bool
。现在,假设我们要将 1 个扩展方法分配给Func<IPerson, IPerson, bool>
我们可以使用的类型的委托:
但是,如果我们将if
语句转换为简写形式,如下所示:
我们得到编译错误信息:
无法确定条件表达式的类型,因为 'method.group' 和 'method.group' 之间没有隐式转换
问题
为什么会出现这个错误?是因为委托的性质是扩展方法吗?还是由于速记if
语句如何确定结果类型?还是完全不同的东西?