2016-11-23 2 views
0

Итак, я пытался создать 2 метода javascript. Первый метод заключается в том, чтобы сделать graphMaking, а другой - отправлять правильные параметры первому методу, чтобы сделать график в соответствии с отправленными параметрами. Проблема в том, что мне нужно зацикливать параметры, отправленные с помощью «arguments [i]», чтобы для формирования строки:Использование строкового аргумента в операторе «IF»

данные [i] .Именования == "A" || данные [я] .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) заменить в rder на эту работу? Заранее благодарен

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

[EDIT] Хорошо Heres реальное дело, почему его C#, потому что я делаю код в asp.net, который был немым от меня и Heres реальный код:

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 как переменную, а что такое 'i' в этом сценарии? –

+0

извините, if (cityString) { numIndex.push (i); } находится внутри цикла [i] – MVCNoob

+0

Какая часть этого кода находится на C#? Можете ли вы также публиковать сигнатуры функций (или вообще более полный код)? Также кажется, что вы строите какой-то скрипт в строке - что вы ожидаете от этой строки? –

ответ

0

Я наконец-то нашел мой собственный ответ, который должен был использовать eval («if-statement»), где if-statement - это условие if в виде строки

+0

Это звучит как * ужасное * решение, особенно используя 'eval'. – krillgar

+0

Ну, мне очень интересно, если у вас есть лучшее решение, чем у меня ... Пожалуйста, опубликуйте его. заранее спасибо – MVCNoob

 Смежные вопросы

  • Нет связанных вопросов^_^