我从数据库中得到一个包含部分匹配结果的对象。
[Object { home1=4, away1=3, home2=4, away2=5, home3=6, away3=7, home4=6, away4=5, home5=3, away5=6}]
home1 这是主队第一部分的结果, away1 -> away team, home2 这是主队第二部分的结果......等等
在我的例子中,数据是我从数据库中获取的每一行。 在我有类 td 的行中:home1、home2、home3、away1、away2 并且有匹配的相应部分的值。 我想检查值是否等于我从数据库中获得的值。 像这样
if ($('.home1') === data[index].home1;
if($('.away2') === data[index].away2;
应该有一些循环。我不知道该怎么做,我想到了一个数组
var array = [
{
home1: data[index].home1,
away1: data[index].away1
},
{
home2: data[index].home2,
away2: data[index].away2
},
{
home3: data[index].home3,
away3: data[index].away3
},
{
home4: data[index].home4,
away4: data[index].away4
},
{
home5: data[index].home5,
away5: data[index].away5
}
]
然后for循环:
for(var X=0; X<5;X++){
homeX == data[index].homeX
}
如何通过 eval 函数递增变量名称?或者还有其他解决方案吗?我很困惑。
最佳答案
您可以使用运算符 [] 访问对象属性:
for(var i=0; i<array.length; i++)
{
var item = array[i];
var homePropertyName = 'home' + (i+1);
//now you can access homeX property of item using item[homePropertyName]
//e.g. item[homePropertyName] = data[index][homePropertyName]
}
关于变量的javascript递增名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19403749/