Javascript 为什么这个测试仍然期望我的函数抛出一个错误,即使我已经这样做了?
timeseries是以下格式的数组:Javascript 为什么这个测试仍然期望我的函数抛出一个错误,即使我已经这样做了?,javascript,arrays,exception,error-handling,throw,Javascript,Arrays,Exception,Error Handling,Throw,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 (tim
[ {"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;
}
函数优先(时间序列){
if(timeseries.length==0){
返回未定义;
}
var-earliestIndex=0;
对于(var i=0;i
测试结果:
问题没有具体说明未提供日期的确切值
为什么会这样?我已经抛出了一个错误。两条建议涵盖所有案例
==
而不是==
,因为它在检查之前也会进行必要的类型转换提示:复制代码并在此处格式化,而不是张贴照片,这样人们更容易回答。:) 请在postWell中以文本形式提供代码,未提供日期时的值是多少?它是否确实是
null
…?您能提供测试用例3的测试数据吗?