2012-06-30 3 views
1

Я делаю сайт в PHP и имею модуль графа. Я сделал модуль графа в том, что значениях х-оси и значении по оси Y передаются как массив, как:Как сделать массив динамическим?

<script type="text/javascript"> 
    var chart; 
    var chartData = [{ 
     year: 2005, 
     income: 23.5 
    }, { 
     year: 2006, 
     income: 26.2 
    }, { 
     year: 2007, 
     income: 30.1 
    }, { 
     year: 2008, 
     income: 29.5 
    }, { 
     year: 2009, 
     income: 24.6 
    }]; 
</script> 

Как я могу сделать этот массив динамическим в JavaScript?

Я добавил код здесь: http://jsfiddle.net/soumyamohanan/YDmnR/7/, но он не работает, поэтому я загрузил график на сервер: http://rapidsurfing.net/mivotv/graph/bar3D.html

Любая помощь будет appeciated.

Редакция: Обновлены скрипки можно найти here.

+2

Что вы подразумеваете под динамикой? Добавьте в массив с 'chartData.push ({год: 2010, доход: 99.5});' –

+1

[Ваша скрипка] (http://jsfiddle.net/soumyamohanan/YDmnR/7/) - это для нас самое интересное читать ... –

+0

У меня есть значения массива year = (2010,2011,2012,2013) и доход = (20,21,22,23,24), как я могу сделать вышеуказанный формат. –

ответ

1

По вашему комментарию, это должно быть то, что вы хотите:

var year = [2010, 2011, 2012, 2013, 2014], //assuming you have these 2 arrays 
    income = [20, 21, 22, 23, 24], 
    chartData = []; 

for(var i = 0;i<year.length;i++){ 
    chartData.push({ 
     "year": year[i], 
     "income": income[i] 
    }); 
} 
+0

Огромное вам спасибо –

+0

@SoumyaMohanan - Добро пожаловать. –

1
var chartData = new Array(); 
var yearlySalaryObject = { 
    year : 2012, 
    salary : 100000 
}; 
chartData.push(yearlySalary); 

Это основная идея о том, что вы пытаетесь сделать. Поскольку кажется, что базовая концепция неясно здесь: то, что вы хотите сделать, это заполнить массив целым рядом объектов. Каждый объект имеет «свойства» год и зарплату. Они могут быть добавлены динамически к массиву с помощью push. Все массивы являются динамическими в javascript. Массивы в javascript могут использоваться как множество различных структур данных. Вы также можете просто сделать.

var chartData = new Array(); 
chartData.push({ year : 2012, salary : 100000}); 

* Примечание: Я думаю, что я сильно не понял вопрос ... но я до сих пор не уверен, что :) если это так, я не знаю, как удалить этот ответ. Вы должны действительно перефразировать и фиксировать эту скрипку, хотя ....

По существу {} обозначает объект, а [] обозначает массив. Вот почему вы можете делать то, что у вас есть. Фактически, вы можете делать то, что есть выше, а затем нажимать больше объектов в массив. Надеюсь, это имеет смысл.

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