2016-11-23 30 views
0

所以,我试图制作2个JavaScript方法。第一种方法是做图形制作,另一种是根据发送的参数向第一种方法发送正确的参数来制作图形。问题是,我需要按顺序循环使用“参数[i]”发送的参数以形成一串:在“IF”语句中使用字符串参数

data [i] .Names ==“A”||数据[I] .Names == “B”

和这里就是我想出了:

var numIndex = []; 
    var cityString = ""; 
       for (var j = 1; j < arguments.length; j++) 
       { 
        cityString = cityString + "||" + " data[i].Names==\"" + arguments[j] + "\""; 
        alert(arguments[j]); 
       } 
       cityString = "data[i].Names==\"" + arguments[0] + "\""; 
    for (var i = 0; i < data.length; i++) { 
     if (cityString) 
     { 
     numIndex.push(i); 
     } 
    } 

什么应该我如果(cityString)被替换为在刻申这个工作? 在此先感谢:)

//////////////////// ////////////////////////////////////////////////// ///////////////////////////////////////////////////

[编辑]好的继承人实打实为什么它的C#是因为我是做在asp.net的代码是一个哑巴,我和继承人的实际代码:

function makeGraph() { 
     var chrt = document.getElementById("myCanvas"); 
     $.ajax({ 
      url: '../api/values', 
      type: 'GET', 
      datatype: 'json', 
      success: function (data) { 
       var totalLabel = []; 
       var totalValue = []; 
       var totalLabel2 = []; 
       var totalValue2 = []; 
       var cityValue = []; 
       var cityName = []; 
       var numIndex = []; 
       var cityString = ""; 
       for (var j = 1; j < arguments.length; j++) 
       { 
        cityString = cityString + "||" + " data[i].Names==\"" + arguments[j] + "\""; 
        alert(arguments[j]); 
       } 
       cityString = "data[i].Names==\"" + arguments[0] + "\""; 
       for (var i = 0; i < data.length; i++) { 
        totalLabel.push(data[i].Names); 
        totalValue.push(data[i].ValuesDouble); 
        totalLabel2.push(data[i].Names2); 
        totalValue2.push(data[i].ValuesDouble2); 
        if (cityString) { 
         numIndex.push(i); 
        } 

       } 
       for (var k = 0; k < numIndex.length; k++) { 
        cityValue.push(data[numIndex[k]].ValuesDouble); 
        cityName.push(data[numIndex[k]].Names); 
       } 

       $(function() { 
        Highcharts.chart('container', { 
         chart: { 
          type: 'column', 
          backgroundColor: 'black' 
         }, 
         title: { 
          text: '' 
         }, 
         xAxis: { 
          categories: cityName, 

         }, 
         yAxis: { 
          min: 0, 
          tickInterval: 100000, 
          title: { 
           text: '' 
          } 
         }, 
         legend: { 
          verticalAlign: 'top', 
          reversed: false, 
          backgroundColor: 'lightgrey' 
         }, 
         plotOptions: { 
          series: { 
           stacking: 'normal' 
          } 
         }, 
         series: [ 

         { 
          name: 'Joe', 
          data: cityValue, 
          color: 'green' 

         }, 
         { 
          name: 'Joe', 
          data: cityValue, 
          color: 'yellow' 
         }, 
         { 
          name: 'Jane', 
          data: cityValue, 
          color: 'blue' 
         }] 
        }); 
       }); 

      } 
     }) 

    } 
+0

好像你使用'j'作为循环变量,那么在这种情况下'我'是什么? –

+0

对不起,if(cityString) numIndex.push(i); }在[i]循环中 – MVCNoob

+0

该代码的哪部分是C#?你是否也可以发布函数签名(或者更一般的代码)?它也感觉你正在用一个字符串建立某种脚本 - 你期望这个字符串做什么? –

回答

0

我终于找到我的自己的答案是使用eval(“if-statement”)if if语句是字符串形式的if条件

+0

这听起来像一个*糟糕的*解决方案,尤其是使用'eval'。 – krillgar

+0

嗯,我真的很感兴趣,如果你有比我更好的解决方案...请发布它。提前致谢 – MVCNoob