簡體   English   中英

Javascript:用作哈希值

[英]Javascript: function as hash value

我想根據找到的輸入調用不同的函數。 如果輸入與鍵之一匹配,我想調用相應的函數-使用一些參數:

var commands = {
  'key1': someFunction,
  'key2': otherFunction
};

鍵是字符串,為了簡化起見,我創建了command_keys變量:

var command_keys = Object.keys(commands);

我在下面進一步定義了兩個函數:

function someFunction(param) {
 // do sth.
};

function otherFunction(param) {
 // do sth. else
};

然后,我有條件檢查該鍵並根據找到的鍵調用其中一個函數:

if (command_keys.indexOf(some_string) > -1) {
  index = command_keys.indexOf(some_string);
  commands[index](some_param);
}

但是,我得到一個錯誤:

Uncaught TypeError: commands[index] is not a function(anonymous function)

感謝您的想法。

我認為您根本不需要command_keys 僅使用commands就可以滿足您在此處描述的內容。

var commands = {
    'key1': someFunction,
    'key2': otherFunction
};

var command = commands[some_string];
if (typeof command === 'function') {
    command(some_param);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM