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