我想从for循环返回多个值,如果我的条件满足多次
for(var i=0;i<graphVariableCount;i++)
{
if(commandResponse.GenericName == graphVariables[i].variable.index)
{
return graphVariables[i].variable.index;
}
}
在上面的代码中,我只能返回一个值。如果图变量[i] .variable.index的通用名称对于4-5个变量是相同的。那么我怎么能够返回这些值。
使用filter
和map
return graphVariables.filter( s => commandResponse.GenericName == s.variable.index )
.map( s => s.variable.index );
说明
filter
将过滤数组以仅获取匹配值map
将迭代该过滤后的数组并仅从中获取s.variable.index
。 var values = [];
for(var i=0;i<graphVariableCount;i++)
{
if(commandResponse.GenericName == graphVariables[i].variable.index)
{
values.push(graphVariables[i].variable.index);
}
}
return values;
你可以使用临时如下:
var results= [];
for(var i=0;i<graphVariableCount;i++)
{
if(commandResponse.GenericName == graphVariables[i].variable.index)
{
results.push( graphVariables[i].variable.index);
}
}