基本上我尝试做的是绕过用户输入非标准格式的号码。例如:
150万应该是1500000
上一个Zap步骤使用Formatter>提取数字。提取数字功能。因此结果是变量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不包括"百万"在字符串中。我对Javascript没有超级经验,但是经过几个小时的挖掘W3C和Zapier文档后,我感到难过。任何帮助深表感谢。谢谢!
答案 0 :(得分:1)
看起来这里有一个小但重要的语法问题。您需要在条件中使用三等号===
而不是一个=
。
if (n = true) return {
应该是
if (n === true) return {
在if...else
语句中,括号中的部分(“条件”)应该是评估“truthy”或“falsy”值的东西。 (MDN)
n = true
将true
的值分配给变量n
,因此无论如何,JavaScript都会将整个事情视为“真实”。
n === true
将 n
与true
进行比较,这是if...else
语句的工作原理。根据{{1}}的值,该值将为“truthy”或“falsy”。