Alexa Skills 使用 slotValue 作为数组名称

Alexa Skills use slotValue as array name

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);