如何获取具有未知单个键的对象的值?
例:
var obj = {dbm: -45}
Run Code Online (Sandbox Code Playgroud)
我想在不知道它的关键的情况下获得-45值.
我知道我可以遍历对象键(总是一个).
for (var key in objects) {
var value = objects[key];
}
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更清洁的解决方案呢?
我有自己的国际象棋引擎使用minimax算法搜索国际象棋移动的问题我使用5层深度搜索并且只有材料/奖励/移动性评估,但它也会使愚蠢的动作和牺牲有价值的棋子,即使我给他们无限(这肯定是一个搜索问题),我没有使用任何类型的修剪,并在几秒钟内提供5深度搜索结果.
我坚持这个问题一个星期,我确定问题是回溯而不是国际象棋逻辑(因此任何没有国际象棋背景的人都会解决这个:))我搜索了很多这是我在Stack Overflow中的第一个问题我希望你们不要让我失望:)
这是简单的搜索代码
int GameControl::Evaluate(ChessBoard _B)
{
int material=0,bonus=0,mobility=0;
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
{
if(_B.Board[i][j]!=EMPTY)
{
if(_B.Board[i][j]->pieceColor==WHITE){
material+=-_B.Board[i][j]->Weight;
bonus+=-_B.Board[i][j]->bonusPosition[i][j];
mobility+=-_B.Board[i][j]->getPossibleMovesList(i,j,B).size();
}
else {
material+=_B.Board[i][j]->Weight;
bonus+=_B.Board[i][j]->bonusPosition[i][j];
mobility+=_B.Board[i][j]->getPossibleMovesList(i,j,B).size();
}
}
}
return material+bonus/10+mobility/20;
}
pair<pair<int,int>,pair<int,int>> GameControl::minimax( int depth , ChessBoard _B )
{
short int i,j;
int bestValue = -INFINITY;
pair<pair<int,int>,pair<int,int>> bestMove;
vector< pair<int,int> > ::iterator it;
vector< pair<int,int> > Z;
for( i = 0; i < 8; i++ )
for( j = 0; j < 8; j++ )
{
if(_B.Board[i][j]!=EMPTY …Run Code Online (Sandbox Code Playgroud) 我有一个JavaScript函数,我想在其中调用Razor C# Function它,我知道它在HTML中很容易但在JavaScript中我收到很多编译错误我尝试了这个<text> tag技巧但没有任何效果.
getHTML是我的JavaScript函数,getPageSource是一个返回字符串的C#函数:
<script language="javascript" type="text/javascript">
function getHTML() {
var html = "@getPageSource("http://www.google.com")" ;
alert(html);
}
</script>
Run Code Online (Sandbox Code Playgroud)
在@getPageSourceHTML上方定义的位置,并且在HTML代码中运行良好
有没有办法将一些Razor代码分配给JavaScript变量?