2016-11-23 60 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