Javascript 尝试迭代数据集

Javascript 尝试迭代数据集,javascript,arrays,Javascript,Arrays,我是javascript新手,我很难弄清楚如何循环一些代码,以便它基本上创建一个数组,然后将其传递给plot变量 我真的不知道从哪里开始。现在我有一段代码,它获取我的第一个数据集(dataOne)并格式化它,以便它可以进入我的plot变量。对于其他数据集,我基本上还需要再做三次——希望包含example.getDataSets函数以某种方式循环 有什么好办法吗 这是我的密码: script.js var example = {}; example.data = { dataOne: {

我是javascript新手,我很难弄清楚如何循环一些代码,以便它基本上创建一个数组,然后将其传递给plot变量

我真的不知道从哪里开始。现在我有一段代码,它获取我的第一个数据集(dataOne)并格式化它,以便它可以进入我的plot变量。对于其他数据集,我基本上还需要再做三次——希望包含example.getDataSets函数以某种方式循环

有什么好办法吗

这是我的密码:

script.js

var example = {};

example.data = {
    dataOne: {data: [{"date":1333238400000,"data":23},{"date":1333324800000,"data":37},{"date":1333411200000,"data":49},{"date":1333497600000,"data":54},{"date":1333584000000,"data":30},{"date":1333670400000,"data":19},{"date":1333756800000,"data":15},{"date":1333843200000,"data":19},{"date":1333929600000,"data":145}],
    dataTwo: {data: [{"date":1335830400000,"data":63},{"date":1335916800000,"data":77},{"date":1336003200000,"data":66}],
    dataThree: {data: [{"date":1341100800000,"data":24},{"date":1341187200000,"data":50},{"date":1341273600000,"data":43},{"date":1341360000000,"data":39},{"date":1341446400000,"data":56},{"date":1341532800000,"data":66}],
    dataFour: {data: [{"date":1333238400000,"data":71},{"date":1333324800000,"data":46},{"date":1333411200000,"data":66},{"date":1333497600000,"data":73},{"date":1333584000000,"data":105},{"date":1333670400000,"data":84}]}
}

example.getDataSets = function(){
    return ['dataOne', 'dataTwo', 'dataThree', 'dataFour']
}

example.getSeries = function(month){
    return example.data[month]
}

example.processData = function(data){
    var newData = []
    for(var i = 0; i < data.length; i++){
        newData.push([data[i].date, data[i].data])
    };
    return newData;
}
var-example={};
示例.数据={
数据一:{数据:{“日期”:1333328400000,“数据”:23},{“日期”:13332480000,“数据”:37},{“日期”:133341120000,“数据”:49},{“日期”:133349760000,“数据”:54},{“日期”:133358400000,“数据”:30},{“日期”:133367040000,“数据”:19},{“日期”:133375680000,“数据”:15},{“日期”:13338432000,“数据”:19},{“日期”:133392960000,“数据”:145},
数据二:{数据:[{“日期”:1335830400000,“数据”:63},{“日期”:133591680000,“数据”:77},{“日期”:133603200000,“数据”:66},
数据三:{数据:{“日期”:1341100800000,“数据”:24},{“日期”:1341187200000,“数据”:50},{“日期”:1341273600000,“数据”:43},{“日期”:1341360000000,“数据”:39},{“日期”:1341446400000,“数据”:56},{“日期”:1341532800000,“数据”:66},
数据四:{数据:{“日期”:1333328400000,“数据”:71},{“日期”:13332480000,“数据”:46},{“日期”:13334111200000,“数据”:66},{“日期”:133349760000,“数据”:73},{“日期”:133358400000,“数据”:105},{“日期”:133370400000,“数据”:84}
}
example.getDataSets=function(){
返回['dataOne','dataTwo','dataThree','dataFour']
}
example.getSeries=函数(月){
返回示例.数据[月份]
}
example.processData=函数(数据){
var newData=[]
对于(变量i=0;i
HTML页面中的我的脚本:

$.getScript("script.js")
    .done(function() {

    var b = example.getSeries('dataOne');
    var d = example.processData(b.data);
    // first correct the timestamps - they are recorded as the daily
    // midnights in UTC+0100, but Flot always displays dates in UTC
    // so we have to add one hour to hit the midnights in the plot
    for (var i = 0; i < d.length; ++i)
      d[i][0] += 60 * 60 * 1000;

    var plot = $.plot($("#placeholder"), [d] , options);
$.getScript(“script.js”)
.done(函数(){
var b=example.getSeries('dataOne');
var d=示例.processData(b.data);
//首先更正时间戳-它们被记录为每日
//UTC+0100的午夜,但Flot始终以UTC显示日期
//因此,我们必须增加一个小时,以达到午夜的情节
对于(变量i=0;i
非常感谢您的任何建议!

请尝试

var d = example.processData(b);
作为

也不会记录您的
数据(在
b
变量中),但是字符串:-)

请尝试

var d = example.processData(b);
作为


也不会记录
数据(在
b
变量中),但是字符串:-)

将字符串文本
'b'
传递给
示例。processData
不是存储在变量
b
中的对象。它应该是

var d = example.processData(b);
另外
example.getSeries
返回一个对象而不是数组。数组位于对象的
data
属性中


此外,您的数据中存在语法错误,在前3个对象的数组末尾缺少
]}

您正在将字符串文本
'b'
传递给
示例。processData
不是存储在变量
b
中的对象。它应该是

var d = example.processData(b);
另外
example.getSeries
返回一个对象而不是数组。数组位于对象的
data
属性中


您的数据中也有语法错误,缺少
]}
在前3个对象的数组末尾。

非常感谢!你知道有什么方法可以将var d的值返回控制台吗?example.processData应该对数据进行一些格式化,我需要一种方法来确保它正是这样做的。@Shipoopi我错过了一个
}
]
之后,请参阅更新的答案。您要操作的数组是
b.data
,因此将其传递给
示例.processData
示例.processData(b.data)
非常感谢!您知道有什么方法可以将var d的值返回到控制台吗?example.processData应该对数据进行一些格式化,我需要一种方法来确保它正是这样做的。@shipoop我在
]
之后错过了一个
,请参阅更新的答案。要操作的数组是
b.data
,因此将其传递给
example.processData
<代码>示例.processData(b.data)