timeseries是以下格式的数组:
[ {"date": "2012-12-21", "price": 1.234}, ... ]
我的代码:
function first(timeseries) {
if (timeseries.length === 0) {
return undefined;
}
var earliestIndex = 0;
for (var i = 0; i < timeseries.length; i++) {
if (timeseries[i].date === null) {
throw new Error("no date");
} else {
if(Date.parse(timeseries[i].date) < Date.parse(timeseries[earliestIndex].date)) {
earliestIndex = i;
}
}
}
return timeseries[earliestIndex].price;
}
测试结果:
未提供时,问题未指明日期的确切值。
为什么会这样?我已经抛出了一个错误。
答案 0 :(得分:1)
涵盖所有案例的一些建议。
在返回之前测试timeseries [i] .price是否为空。
您可能希望尝试使用==
代替===
,因为它还会在检查前进行必要的类型转换。
参考:https://stackoverflow.com/a/359509/4874271
提示:在此处复制代码并将其格式化而不是发布照片,人们更容易回答。 :)