如何在没有循环的情况下获取 Javascript 对象的所有键

布伦南·凯西

我有一个对象,我希望能够搜索软件的名称。对于本示例,我们将使用“Adobe Acrobat”。

const SoftwareDict {

"Actuate": {
              "Standard": "Retire",
           },
"Adobe Acrobat": {
              "Adobe Acrobat Pro DC": "Mainstream",
              "Adobe Acrobat Professional 7.0.8": "Retire",
              "Adobe Acrobat Professional 9.0.0":"Retire",
              "Adobe Acrobat Professional X":"Retire",
              "Adobe Acrobat Professional XI":"Contain",
              "Adobe Acrobat Reader 7.0.8":"Retire",
              "Adobe Acrobat Reader 9.0.0":"Retire",
              "Adobe Acrobat Reader DC":"Mainstream",
              "Adobe Acrobat Reader X":"Retire",
              "Adobe Acrobat Reader XI":"Contain",
           },
};

当我知道我正在寻找的密钥时,它可以工作:

session.send(SoftwareDict["Adobe Acrobat"]["Adobe Acrobat Pro DC"]);

我遇到的问题是当我尝试使用循环从对象中获取键名并将值存储在“选择”数组中时。我尝试了 for 循环和 forEach 方法,但都没有奏效。当我在 Bot Framework Channel Emulator 中离线运行时,循环运行完美。我目前正在 Azure 门户上运行以使用实体识别器,因此我需要它在此位置工作。

在此 Bot Framework 门户上运行循环是否存在问题。这是我第一次需要在这里使用它们。

bot.dialog('LifecycleWaterfallDialog', function (session, args) {
//Match Lifecycle to correct software using waterfall
        //Find Software Name
        var choices = [];
        session.send("Started");
        var softwareEntity = builder.EntityRecognizer.findEntity(args.intent.entities, 'Software');
        //Get List of Versions for that software
        if (softwareEntity) {

        session.send(SoftwareDict["Adobe Acrobat"]["Adobe Acrobat Pro DC"]); //This works & returns "Mainstream" 

        var versions = SoftwareDict["Adobe Acrobat"];
        versions.forEach(function(item){
            choices.push(item);
            session.send(item); //DOES NOT WORK
        });
        session.send(choices[0]); //DOES NOT WORK 

        //Outputs 
        session.send(SoftwareDict[softwareEntity.entity][choices[0]]); //testing first software version
        session.endDialog();
        } else {
            session.send("sorry");
            session.endDialog();
        }

}).triggerAction({
    matches: 'LifecycleStatus'
});
詹姆士

for..in将为您枚举对象属性

for (prop in versions) {
    choices.push(prop);
    session.send(prop);
}

或者正如评论中已经提到的那样 - Object.keys将返回一个键列表,然后您可以迭代例如

Object.keys(versions).forEach(...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在没有循环的情况下向Javascript数组中的每个对象添加字段?

来自分类Dev

在JavaScript中,如何在没有for循环的情况下计算对象数组中的值差?

来自分类Dev

Javascript如何在没有提醒的情况下循环显示十除法计算

来自分类Dev

如何在没有查询部分的情况下获取JavaScript正则表达式?

来自分类Dev

如何在没有JavaScript代码的情况下获取正文

来自分类Dev

javascript-如何在没有秒的情况下获取LocaleTime?

来自分类Dev

javascript-如何在没有秒的情况下获取LocaleTime?

来自分类Dev

如何在没有webserver-stuff(即AJAX)的情况下获取外部JavaScript的文本

来自分类Dev

从对象列表Javascript / TypeScript获取所有可能的对象键

来自分类Dev

如何在没有JavaScript和Ajax的情况下从MVC4 C#获取json

来自分类Dev

如何在没有任何循环的情况下获取php中的特定键数组

来自分类Dev

如何在不循环的情况下访问对象数组中的所有键和值

来自分类Dev

获取值为true的JavaScript对象的所有键

来自分类Dev

JavaScript | 遍历JSON对象并获取特定键的所有值

来自分类Dev

有没有一种简便快捷的方法可以在不循环键的情况下从javascript对象中删除x键?

来自分类Dev

如何替换javascript中嵌套对象的所有键

来自分类Dev

如何在没有id的情况下将jQuery元素传递给JavaScript函数?

来自分类Dev

Javascript-如何在没有shift()的情况下实现队列?

来自分类Dev

如何在没有jQuery的情况下使用javascript无限滚动

来自分类Dev

如何在没有JavaScript的情况下验证HTML选择标记

来自分类Dev

我如何在没有将javascript嵌入html的情况下使用onkeypress?

来自分类Dev

如何在没有Google Chrome的情况下使用WebStorm JavaScript Debug配置?

来自分类Dev

如何在没有DOM的情况下将JavaScript作为node.js脚本运行?

来自分类Dev

如何在没有父节点为空的情况下删除javascript中的节点

来自分类Dev

如何在没有单击或PHP加载事件的情况下执行javascript?

来自分类Dev

如何在没有onclick事件的情况下使用javascript更改图片?

来自分类Dev

没有Jquery的情况下如何在Javascript中链接?

来自分类Dev

在没有JQuery的情况下如何在JavaScript中创建cookie?

来自分类Dev

Javascript-如何在没有内存泄漏的情况下播放很多声音?

Related 相关文章

  1. 1

    如何在没有循环的情况下向Javascript数组中的每个对象添加字段?

  2. 2

    在JavaScript中,如何在没有for循环的情况下计算对象数组中的值差?

  3. 3

    Javascript如何在没有提醒的情况下循环显示十除法计算

  4. 4

    如何在没有查询部分的情况下获取JavaScript正则表达式?

  5. 5

    如何在没有JavaScript代码的情况下获取正文

  6. 6

    javascript-如何在没有秒的情况下获取LocaleTime?

  7. 7

    javascript-如何在没有秒的情况下获取LocaleTime?

  8. 8

    如何在没有webserver-stuff(即AJAX)的情况下获取外部JavaScript的文本

  9. 9

    从对象列表Javascript / TypeScript获取所有可能的对象键

  10. 10

    如何在没有JavaScript和Ajax的情况下从MVC4 C#获取json

  11. 11

    如何在没有任何循环的情况下获取php中的特定键数组

  12. 12

    如何在不循环的情况下访问对象数组中的所有键和值

  13. 13

    获取值为true的JavaScript对象的所有键

  14. 14

    JavaScript | 遍历JSON对象并获取特定键的所有值

  15. 15

    有没有一种简便快捷的方法可以在不循环键的情况下从javascript对象中删除x键?

  16. 16

    如何替换javascript中嵌套对象的所有键

  17. 17

    如何在没有id的情况下将jQuery元素传递给JavaScript函数?

  18. 18

    Javascript-如何在没有shift()的情况下实现队列?

  19. 19

    如何在没有jQuery的情况下使用javascript无限滚动

  20. 20

    如何在没有JavaScript的情况下验证HTML选择标记

  21. 21

    我如何在没有将javascript嵌入html的情况下使用onkeypress?

  22. 22

    如何在没有Google Chrome的情况下使用WebStorm JavaScript Debug配置?

  23. 23

    如何在没有DOM的情况下将JavaScript作为node.js脚本运行?

  24. 24

    如何在没有父节点为空的情况下删除javascript中的节点

  25. 25

    如何在没有单击或PHP加载事件的情况下执行javascript?

  26. 26

    如何在没有onclick事件的情况下使用javascript更改图片?

  27. 27

    没有Jquery的情况下如何在Javascript中链接?

  28. 28

    在没有JQuery的情况下如何在JavaScript中创建cookie?

  29. 29

    Javascript-如何在没有内存泄漏的情况下播放很多声音?

热门标签

归档