【问题标题】:can't define a function - based lookup table无法定义基于函数的查找表
【发布时间】:2020-05-29 20:48:39
【问题描述】:

我正在尝试定义一个基于函数的查找表 - 一个对象数组,每个对象都包含一个函数(现有函数,而不是箭头函数)和一个字符串。我试过了:

let lookup_table = [{'foo', bar}, {'abc', def}];
(.....)
function bar(command){(..)}
function def(command){(..)}

另一种(也是更受欢迎的)灵魂建议是通过字符串索引来引用函数,类似这样的

lookup_table['foo']('abc'); //=bar('abc')

【问题讨论】:

    标签: javascript json function lookup-tables


    【解决方案1】:

    当您真正需要的只是一个对象时,您已经为 lookup_table 设置了一个数组。

    语法错误也使用逗号作为对象中属性和值之间的分隔符

    以下示例有效

    function bar(command){console.log('Called bar() , command =', command)}
    function def(command){console.log('Called def() , command =', command)}
    
    let lookup_table = {'foo': bar,'abc': def};
    
    lookup_table['foo']('abc');
    lookup_table['abc']('123');

    【讨论】:

      猜你喜欢
      • 2010-10-13
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多