如何使阵列动态化?

时间:2012-06-30 03:59:23

标签: javascript arrays

我正在用PHP做一个站点,并有一个图形模块。我已经完成了图形模块,因为x轴值和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

任何帮助都将被指定。

编辑: 可以找到更新的小提琴here

2 个答案:

答案 0 :(得分: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]
    });
}

答案 1 :(得分: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});

*注意:我认为我严重误解了这个问题......但我仍然不确定:)如果是这样我不知道如何删除这个答案。你应该考虑改写和修复那个小提琴......

基本上{}表示对象,[]表示数组。这就是为什么你可以做你上面的事情。实际上,您可以像上面那样进行操作,然后将更多对象推送到数组中。希望这是有道理的。