本质上,我试图做的是当用户以非标准格式输入数字时规避。例如:
150 万应该是 1500000
上一个 Zap 步骤使用“格式化程序”>“提取数字”功能提取数字。所以结果是变量rawNum,原始数字是noformatNum。
var str = inputData.noformatNum;
var n = inputData.noformatNum.includes ("million");
if (n = true) return {
finalNum: Number(inputData.rawNum) * 1000000
};
else return { finalNum : inputData.noformatNum };
它的工作原理是完成操作并将 1.5 变为 1500000,但每次都会执行,即使 noformatNum 字符串中不包含“million”也是如此。我对 Javascript 并不是很有经验,但是在研究了 W3C 和 Zapier 文档几个小时后,我被难住了。任何帮助深表感谢。谢谢!
最佳答案
这里似乎存在一个小但重要的语法问题。您需要在条件中使用三个等号 ===
而不是单个 =
。
如果(n = true)返回{
应该是
if (n === true) 返回 {
在 if...else
语句中,括号中的部分(“条件”)应该是计算结果为“真”或“假”值的内容。 (MDN)
n = true
将 true
的值分配给变量 n
,因此 JavaScript 会考虑整个事情无论如何,“真实”。
n === true
将 n
与 true
进行比较,这就是您想要的 if...else
语句起作用。该值将是“真”或“假”,具体取决于 n
的值。
关于javascript - 即使语句为 false,Zap 内的 If/then 计算也会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48312118/