【发布时间】:2023-02-04 03:45:37
【问题描述】:
在 javascript 中是否有一种用不同值替换值的简写方法?
这是我所知道的最简洁的方法:
getAttr(data,"PARTITIONING_SCHEME") === "[None]" ? "" : getAttr(data,"PARTITIONING_SCHEME")
但这需要我自己重复一遍,在本例中调用 getAttr 函数两次以获得相同的值。显然,我可以将它分配给一个变量一次,然后执行条件逻辑,但那将是另一行代码,我正在寻找简洁性。
我想我可以做一个字符串替换:
getAttr(data,"PARTITIONING_SCHEME").replace("[None]","")
但这会错误地修改一些恰好嵌入了 [None] 的较长字符串。我确信正则表达式可以做到这一点,但我不想经常求助于正则表达式……只需要一些快速、简洁和容易记住的东西。看起来很简单。
这是不是询问 javascript 三元运算符 ?,这是我在上面展示的,需要在两侧重复操作数,也不需要无效合并 ?? 或 || ,它们只替换无效值。我想用另一个替换一个非空值,否则就不管它了。
假设有一个字符串方法“swap”:
getAttr(data,"PARTITIONING_SCHEME").swap("[None]","")
如果它与第一个操作数不匹配,那么将保留该值,但如果匹配则将其交换为第二个操作数。
【问题讨论】:
-
这回答了你的问题了吗? JavaScript shorthand ternary operator
-
不, ??和||只会取代无效的东西。我想用空字符串替换字符串“[None]”。
标签: javascript