javascript - Alexa Skills 使用 slotValue 作为数组名称

标签 javascript node.js alexa alexa-skill alexa-slot

if (slotValues.listableThings.ERstatus === 'ER_SUCCESS_MATCH') {
  switch (slotValues.listableThings.resolved) {
    case 'CLASSES':
      {
        lookupArray = sessionAttributes.CLASSES;
      };
      break;
   case 'TONES':
      {
         lookupArray = sessionAttributes.TONES;
      };
      break;
    default:
      break;
  }

有没有办法做到这一点,而不是使用开关来设置lookupArray = sessionAttributes.(slotValues.listableThings.resolved)

我在 JavaScript 上能找到的所有内容都说要使用警报,但 Node.js 中并未为 Alexa 技能定义警报。

最佳答案

您可以迭代元素并使用键进行分配

// Emulating 
var slotValues = {
  listableThings: {
    resolved: "CLASSES"
  }
};

var sessionAttributes = {
  CLASSES: "THESE ARE CLASSES",
  TONES: "THESE ARE TONES"
}

let lookupArray = sessionAttributes[slotValues.listableThings.resolved];

console.log(lookupArray);

关于javascript - Alexa Skills 使用 slotValue 作为数组名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54949516/

相关文章:

javascript - MooTools:获取给定一周的第一天和最后一天

arrays - Sequelize 数据库错误: operator does not exist: character varying[] @> character varying

javascript - Shortid的唯一性如何保证?

node.js - nodeJS中的重载函数调用

aws-lambda - 如何修改实时 Alexa 技能?

javascript - 单击单选按钮时隐藏/显示选项

php - 实时网站流量的国籍?

javascript - 如何判断两个日期是在同一天还是同一小时?

alexa - 如何从alexa技能中获取用户输入

amazon-web-services - Alexa是 'Unable to Reach the Requested Skill'