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