javascript 将Datanyze技术映射到自定义类别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 将Datanyze技术映射到自定义类别相关的知识,希望对你有一定的参考价值。

const mappings = {
  crm: [
    'Salesforce',
    'Microsoft Dynamics',
    'Microsoft Dynamics 365 for Sales',
    'Microsoft Dynamics 365',
    'Pipedrive',
    'Close.io'
  ],
  marketingauto_email: [
    'HubSpot',
    'Marketo',
    'Autopilot',
    'Drip',
    'Salesforce Pardot',
    'Act-On',
    'Customer.IO',
    'Vero',
    'Campaign Monitor',
    'Constant Contact',
    'GetResponse',
    'MailChimp'
  ],
  live_chat: ['Intercom', 'Drift', 'LiveChat', 'Olark'],
  ad_retargeting: [
    'AdRoll',
    'Facebook Web Custom Audiences',
    'Perfect Audience'
  ],
  web_product_tracking: ['Amplitude', 'Heap', 'Mixpanel', 'Kissmetrics']
};

const techAliases = {
  'Salesforce Pardot': 'Pardot',
  'Facebook Web Custom Audiences': 'Facebook Custom Audiences',
  'Microsoft Dynamics Marketing': 'Microsoft Dynamics',
  'Microsoft Dynamics 365 for Sales': 'Microsoft Dynamics',
  'Microsoft Dynamics 365': 'Microsoft Dynamics',
  'HubSpot CRM': 'HubSpot',
  'HubSpot Sales': 'HubSpot'
};

const datanyzeTechs = _.get(account, 'datanyze.technologies', []);

const userTraits = {};

// Determine tech based on priority for all categories
if (datanyzeTechs.length > 0) {
  mappings.map((val, key) => {
    val.map(v => {
      if (_.includes(datanyzeTechs, v)) {
        userTraits[key] = v;
      }
    });
  });
}

// Alias the tech if appropriate
userTraits.map((val, key) => {
  if (techAliases[val] !== null) {
    userTraits[key] = techAliases[val];
  }
});


//Write the results back in the Hull profile
hull.traits(userTraits, { source: "primary_tools" });

以上是关于javascript 将Datanyze技术映射到自定义类别的主要内容,如果未能解决你的问题,请参考以下文章

将 PHP 日期格式映射到 Javascript [重复]

javascript 将JSON数据映射到JavaScript中的类/对象

JavaScript:如何映射两个对象以获得将第一个对象的 ID 映射到另一个对象的名称的输出?

如何将 JavaScript ES6 映射对象显示到控制台?

jQuery 到常规 Javascript 的映射

如何将一系列日期绑定值映射/减少到 JavaScript / RXJS 中的运行总数?