не может определить таблицу поиска на основе функций - PullRequest
1 голос
/ 29 мая 2020

Я пытаюсь определить таблицу поиска на основе функций - массив объектов, каждый из которых содержит функцию (существующую функцию, а не стрелочную функцию) и строку. Я пробовал:

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

другой (и более предпочтительный) способ будет ссылаться на функцию по строковому индексу, что-то вроде этого

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

1 Ответ

2 голосов
/ 29 мая 2020

Вы установили массив для 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');
...