在Make(原Integromat)中使用CustomJS模块的代码执行问题
Make(原Integromat)CustomJS模块问题解答
一、单行函数执行失败的原因
你写的单行代码报错,核心是JavaScript自动分号插入(ASI)机制没在函数定义和调用语句之间插入分号,导致引擎把fudge(input)当成函数定义的一部分,解析逻辑混乱。
解决方法很直接,在函数定义末尾加个分号,把两个语句明确拆分:
function fudge(inp){ let ret = []; ret = inp.products; return ret;}; fudge(input)
二、提取items中SKU值的正确代码
先明确你的输入结构:input.json.items是包含SKU的目标数组,同时你原来的循环代码存在语法错误——push()的括号没闭合。
以下是两种可直接运行的实现方式:
写法1:传统for循环
function extractSKUs(inp) { let ret = []; const items = inp.json.items; for (let i = 0; i < items.length; i++) { ret.push(items[i].SKU); } return ret; } extractSKUs(input)
写法2:更简洁的map方法
function extractSKUs(inp) { return inp.json.items.map(item => item.SKU); } extractSKUs(input)
额外提示
Make的CustomJS模块语法容错性有限,写代码时注意:
- 单行多语句场景下,手动用分号分隔各个逻辑
- 仔细检查语法细节(比如括号、引号是否闭合)
- 先做简单测试验证路径正确性(比如先返回
inp.json.items确认能拿到目标数组)
内容的提问来源于stack exchange,提问作者monkey
相关产品推荐
相关产品推荐

