看起来很简单,但是我有点想尝试在将json数据推送到javascript数组之前弄清楚如何过滤数据。
//push data into javascript array [timestamp,value]
dataJSON2 = [];
for (i in parsed2) {
if (parsed2[i].value == 'open' || parsed2[i].value == 'true' ) {
thevalue = 1;
} else if (parsed2[i].value == 'closed' || parsed2[i].value == 'false' ) {
thevalue = 0;
} else {
thevalue = parsed2[i].value;
}
dataJSON2.push( [ (parsed2[i].timestamp),
parseFloat (thevalue) ] );
}
我要完成的工作是,如果当前
thevalue
var与先前的thevalue
相同,则它将丢弃数据并转到下一个i
,直到返回不同的值。如果使用
for
循环会很容易,但是我不知道使用其他方法来推送json对象而不是for..in
,也不会在推送之前使用过滤i
值。 最佳答案
var dataJSON2 = [], previous;
for (i in parsed2) {
if (parsed2[i].value === 'open' || parsed2[i].value === 'true' ) {
thevalue = 1;
} else if (parsed2[i].value === 'closed' || parsed2[i].value === 'false' ) {
thevalue = 0;
} else {
thevalue = parsed2[i].value;
}
if (previous === thevalue) continue;
previous = thevalue;
dataJSON2.push( [ (parsed2[i].timestamp), parseFloat (thevalue) ] );
}