【问题标题】:Zapier - Slice not a valid function?Zapier - 切片不是有效的功能?
【发布时间】:2018-07-22 05:51:56
【问题描述】:

我仍然是一个初学者,并且对以下部分有疑问。目前使用 Zapier 来获取 inputData 并将其拆分为 3 个不同的计算,然后再将它们组合并再次将结果吐回。

第 1 位、第 2 位和第 3 位以及后 3 位分别处理如下。

我得到的错误是 .slice 不是一个有效的函数。希望有人可以提供帮助:)

var inputData = '123456'

// Convert to ABC
var codeA= parseInt(inputData[0], 10) * 60 * 1000;
var codeB = parseInt(inputData.slice(1,3), 10) * 1000;
var codeC = parseInt(inputData.slice(3,6), 10);

【问题讨论】:

  • 当你说:“当前使用 Zapier 来获取 inputData”时,你的意思是你并没有真正执行你的第一行代码,我的意思是 var inputData = '123456'
  • 是的,将其用于测试目的,并将其包含在此处以便能够完全运行。
  • 您的代码在这里运行得非常好。 @James 的回答可能有用
  • 您可以尝试console.log(inputData)并在浏览器中浏览结果
  • @Get Off My Lawn 给了我答案。我使用 substr 而不是 slice 来修复它。现在我只是在为我的 inputData 的格式而苦苦挣扎。 Zapier 声明它以字符串的形式输入,但如果不转换它,我会收到错误消息。如果我确实转换,则会出现 NaN 错误。

标签: javascript bots zapier


【解决方案1】:

.slice 并不适用于所有浏览器和类型,.slice 目前可用于数组、字符串和 blob。您的代码似乎在我本地工作得很好。您正在使用当前不支持字符串切片的浏览器,如果您使用的是真正旧版本的浏览器,但每个主要的最新浏览器都应该支持它,这是可能的。或者您正在使用某种库来覆盖字符串等的 .slice。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice#Browser_compatibility

【讨论】:

    【解决方案2】:

    你可以使用substr,第一个参数是起始位置,第二个参数是长度:

    var inputData = '123456'
    
    // Convert to ABC
    var codeA= parseInt(inputData[0], 10) * 60 * 1000;
    var codeB = parseInt(inputData.substr(1,2), 10) * 1000;
    var codeC = parseInt(inputData.substr(3,3), 10);
    
    console.log(codeA)
    console.log(codeB)
    console.log(codeC)

    【讨论】:

    • 我仍然收到 inputData.substr is not a function 编辑:找出原因,我将输入更改为 Int 而不是 String。非常感谢!
    猜你喜欢
    • 2017-05-03
    • 2021-03-19
    • 2013-03-13
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 2011-06-18
    • 2011-03-29
    • 2019-03-29
    相关资源
    最近更新 更多