我用以下内容简化了一个更大的复杂问题......
给定三个整数数组,返回每个元素的所有可能组合的最有效方法是什么?请注意,每个数组中的每个值将始终在相同的位置给出,因此[A,B,C]它们将相同[C,B,A].我想要的结果是一个数组数组,每个哈希包含一个组合.例如:
鉴于:
var array1 = [1,2]
var array2 = [a,b]
var array3 = [foo,bar]
Run Code Online (Sandbox Code Playgroud)
结果将是:
[
[1,a,foo],
[2,a,foo],
[1,b,foo],
[2,b,foo],
[1,a,bar],
[2,a,bar],
[1,b,bar],
[2,b,bar]
]
Run Code Online (Sandbox Code Playgroud) 我在matlab中的其他人的代码中遇到了函数eval(表达式)的使用:例如:
for n = 1 : 4
sn = int2str( n) ;
eval( [ 'saveas( fig' sn ', [ sName' sn ' ], ''fig'' ) ' ] );
end
Run Code Online (Sandbox Code Playgroud)
Matlab帮助中MathWorks的东西指出:
eval函数的许多常见用法效率较低,并且比其他MATLAB函数和语言结构更难以阅读和调试.
在此之后,我发现在许多其他程序语言中使用此函数,如Python,JavaScript,PHP.
所以我有几个问题: