我有Func<Product, bool> ItemProductAny(IEnumerable<Iitem> items) =>
(pro) => items.Any(item => pro.ItemID == item.Id);
,var f3 = ItemProductAny(itemColl1);
var f4 = ItemProductAny(itemColl2);
bool thisWillAlsoBeTrue = f3(product);
bool thisWillAlsoBeTrueAgain = f4(product);
var itemColl3 = new Iitem[] { new Iitem { Id = 2 }, new Iitem { Id = 3 } };
var f5 = ItemProductAny(itemColl3);
bool butThisWillBeFalse = f5(product);
和app.figures.data[0].user.x0
等变量。这些变量被赋值。
这些变量的动态数量遵循增加变量中最终数字的顺序(即:app.figures.data[0].user.y1
之后的下一个变量是app.figures.data[0].user.d2
)。
我正在尝试确定一种在循环中动态获取每个变量值的有效方法。
app.figures.data[0].user.d2
我需要app.figures.data[0].user.x3
的值 for(j = 0; j < len; j++){
var x = 'x' + j;
j++;
var y = 'y' + j;
j++;
var d = 'd' + j;
var dresult = app.figures.data[0].user.d;
}
。例如,dresult
为app.figures.data[0].user.d2
,因此app.figures.data[0].user.d2
在该次迭代中应为23
。
我是JS的新手,所以任何建议都表示赞赏。
答案 0 :(得分:1)
[]
运营商会为您服务吗?
for (let j = 2; j < len; j += 3) {
let dresult = app.figures.data[0].user['d' + j];
}
答案 1 :(得分:0)
var values=["x0","y1","d2"]. map(el=>this[el],app.figures.data[0].user);
它会将键映射到相应的值。 你可以把它放在循环中:
for(var i=0; i<100;i+=3){
var values=["x","y","d"]. map((el,id)=>this[el+(i+id)],app.figures.data[0].user);
values.forEach(console.log);//just an example case
}
一些解释:i是计数器,增加3,停止在102. el是一个数组元素,所以&#34; y&#34;,id是该数组中的索引。这是用户对象。所以这个[el +(i + id)]得到了这个对象属性的值。
顺便说一下动态变量名称是非常糟糕的样式,会导致很多错误。可以在没有它的情况下将代码更改为工作。