使用 Zapier 代码将全名拆分为名字姓氏

Using Zapier Code to Split a Full Name into First Name Last Name

我们正在使用 webhook 将数据从 Vimeo 提取到 Zapier,并将其发送到我们的 CRM (InfusionSoft)。

我没有编码经验,并且遇到问题 运行 Zapier Code 中的一个简单 JS 脚本。目标是将嵌入的客户名称(名字和姓氏)拆分为两个输出,名字和姓氏。

我从 Zapier 找到并尝试过的代码是这样的:

if ' ' in input['fullName']:
    first, last = input['fullName'].split(' ', 1)
else:
    first, last = input['fullName'], None # fallback
return {
    'firstName': first,
    'lastName': last
}

非常感谢任何帮助!

谢谢, 摩根

Zapier Code Error Returned

这是您的代码的 Javascript 版本。您可以在 else 子句中将 null 更改为您想要的任何值。

let first, last;
if ( input['fullName'].indexOf(" ") != -1 )
    [first, last] = input['fullName'].split(' ', 2);
else
    [first, last] = [input['fullName'], null];
return {
    'firstName': first,
    'lastName': last
}

为了你后面的问题。我认为这是因为您将其用作原始而不是函数,因此我会为您编写一个修复程序。对于 Zapier,他们的文档说您所有的值和变量都以 inputData 开头。因此,要应用原始代码而不是函数调用中的代码,那么您必须这样做。

if ( inputData.fullName ) {
    let first, last;
    if ( inputData['fullName'].indexOf(" ") != -1 )
        [first, last] = inputData['fullName'].split(' ', 2);
    else
        [first, last] = [inputData['fullName'], null];
    return {
        'firstName': first,
        'lastName': last
    }
} else {
    // inputData.fullName is not available, do something else.
}

如果您要在函数调用中使用它,请遵循以下步骤:

function getFullName(inputData) {
    var first, last;
    if ( inputData['fullName'].indexOf(" ") != -1 )
        [first, last] = inputData['fullName'].split(' ', 2);
    else
        [first, last] = [inputData['fullName'], null];
    return {
        'firstName': first,
        'lastName': last
    }
}

if ( inputData.fullName ) { 
   var someobject = getFullName(inputData);
} else {
   // no inputData.fullName
}

你有两个选择,只是为了未来的读者,既然答案被接受了。

var arr = inputData.fullName;
if (arr != undefined && arr != null) {
  var name = arr.concat(" ").split(' ');
  var i = 0;
    if (i < 2){
      name[i] = name[i]; 
      i++;
    }
  return {'firstName': name[0], 'lastName': name[1]};
} 
else {
  return {'firstName': 'N/A', 'lastName': 'N/A'} 
}

使用此代码,您可以在以后需要时加上中间名。这还将检查 null 或零值并提供响应(您可以根据需要进行编辑)。

其次,您可以使用 Zapier 的格式操作,运行 文本事件并选择拆分 [:space:]。

我意识到我的第一个 post 在检查空值时出现了拼写错误,导致混淆(感谢 Kevin 的输入)。它肯定不会更快,但无论输入如何,它都不应该在我们的 zapier 上出错。