如果条件满足多次,则从数组返回多个值

问题描述 投票:0回答:3

我想从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个变量是相同的。那么我怎么能够返回这些值。

javascript arrays angularjs if-statement
3个回答
4
投票

使用filtermap

return graphVariables.filter( s => commandResponse.GenericName == s.variable.index )
               .map( s => s.variable.index );

说明

  • filter将过滤数组以仅获取匹配值
  • map将迭代该过滤后的数组并仅从中获取s.variable.index

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;

0
投票

你可以使用临时如下:

var results= []; 
for(var i=0;i<graphVariableCount;i++)

  {

     if(commandResponse.GenericName == graphVariables[i].variable.index)
     {
       results.push( graphVariables[i].variable.index);
     }
  } 
© www.soinside.com 2019 - 2024. All rights reserved.