选择随机方法

时间:2015-08-17 15:29:21

标签: javascript function random

我有我的JavaScript代码和一个包含许多不同功能的文件(几百个)。我想创建一个新函数(相同的文件或不同的文件),它将随机执行一个现有的函数。

其中一个问题是没有可识别的命名模式,我需要让它从文件中选择任何函数。也许通过识别一行并检查关键字功能是否存在?

由于功能的数量和需要添加更多功能,因此无法使用数组。我需要将该函数视为未知变量。

1 个答案:

答案 0 :(得分:0)

一般来说,最简单/最干净的方法是将所有函数存储在对象中:

var myFunctions: {
    fn1: function() {},
    fn2: function() {},
    fn3: function() {}
    // ...
}

然后你可以执行var fnNames = Object.keys(myFunctions),它会将你的所有函数名称作为数组。

然后你可以:myFunctions[fnNames[Math.floor(Math.random()*fnNames.length)]]

更长更清洁的版本:

var randomFunctionNameIndex = Math.floor(Math.random()*fnNames.length);
var randomFunctionName = fnNames[randomFunctionNameIndex];
var randomFunction = myFunctions[randomFunctionName];

var result = randomFunction();