日期 FNS 最接近 returns NaN 的索引
DateFNS closestIndexTo returns NaN
我需要使用 DateFNS v.2.0.1 closestIndexTo 从一组日期中获取最接近的日期。我目前正在返回 NaN。我在这里错过了什么?
(val = 2019-09-01)
(arrDates = 2019-09-01,2019-09-03,2019-09-03,2019-09-04,2019-09-05,2019-09-05,2019-09-23,2019-10-01,2019-11-18)
getClosestToDate(val,arr) {
var arrDates = [_.map(arr, 'date')]
var closestDate = closestIndexTo(parseISO(val), arrDates)
return closestDate
},
所以基本上日期应该首先是字符串。下一个可能不正确的地方是你使用 [_.map(arr, 'date')]
的地方,它实际上将 map 的结果放入数组中,使其成为双数组。此外,为了将 arr
解析为 Date
对象,您需要将 arr 值映射到 parseISO
函数。所以下面的代码应该可以工作
var closestIndexTo = require('date-fns/closestIndexTo')
var parseISO = require('date-fns/parseISO')
var _ = require('lodash')
val = "2019-10-04"
arrDates = ["2019-09-01","2019-09-03","2019-09-03","2019-09-04","2019-09-05","2019-09-05","2019-09-23","2019-10-01","2019-11-18"]
function getClosestToDate(val, arr) {
var arrDates = _.map(arr, (a) => parseISO(a))
var closestDate = closestIndexTo(parseISO(val), arrDates)
return closestDate
}
console.log("result", getClosestToDate(val, arrDates))
这里是link到repl
我需要使用 DateFNS v.2.0.1 closestIndexTo 从一组日期中获取最接近的日期。我目前正在返回 NaN。我在这里错过了什么?
(val = 2019-09-01)
(arrDates = 2019-09-01,2019-09-03,2019-09-03,2019-09-04,2019-09-05,2019-09-05,2019-09-23,2019-10-01,2019-11-18)
getClosestToDate(val,arr) {
var arrDates = [_.map(arr, 'date')]
var closestDate = closestIndexTo(parseISO(val), arrDates)
return closestDate
},
所以基本上日期应该首先是字符串。下一个可能不正确的地方是你使用 [_.map(arr, 'date')]
的地方,它实际上将 map 的结果放入数组中,使其成为双数组。此外,为了将 arr
解析为 Date
对象,您需要将 arr 值映射到 parseISO
函数。所以下面的代码应该可以工作
var closestIndexTo = require('date-fns/closestIndexTo')
var parseISO = require('date-fns/parseISO')
var _ = require('lodash')
val = "2019-10-04"
arrDates = ["2019-09-01","2019-09-03","2019-09-03","2019-09-04","2019-09-05","2019-09-05","2019-09-23","2019-10-01","2019-11-18"]
function getClosestToDate(val, arr) {
var arrDates = _.map(arr, (a) => parseISO(a))
var closestDate = closestIndexTo(parseISO(val), arrDates)
return closestDate
}
console.log("result", getClosestToDate(val, arrDates))
这里是link到repl