我正在对数组进行映射以获取其最大值,然后执行 indexOf 来获取结果的索引:
var dates = [
{
"Address": 25,
"AlertType": 1,
"Area": "North",
"MeasureDate": "2019-02-01T00:01:01.001Z",
"MeasureValue": -1
},
{
"Address": 26,
"AlertType": 1,
"Area": "West",
"MeasureDate": "2023-04-12T15:13:11.733Z",
"MeasureValue": -1
},
{
"Address": 25,
"AlertType": 1,
"Area": "North",
"MeasureDate": "2017-02-01T00:01:01.001Z",
"MeasureValue": -1
}
]
这是我的尝试:
var result = dates
.map(x => x.MeasureDate)
.indexOf(new Date(Math.max(
...dates.map(a => new Date(a.MeasureDate))
)))
console.log('latest date', result)
但结果是-1
。
我该如何修复它以获得正确的结果索引?
最佳答案
可以获取最大日期时间的索引。
var dates = [
{
"Address": 25,
"AlertType": 1,
"Area": "North",
"MeasureDate": "2019-02-01T00:01:01.001Z",
"MeasureValue": -1
},
{
"Address": 26,
"AlertType": 1,
"Area": "West",
"MeasureDate": "2023-04-12T15:13:11.733Z",
"MeasureValue": -1
},
{
"Address": 25,
"AlertType": 1,
"Area": "North",
"MeasureDate": "2017-02-01T00:01:01.001Z",
"MeasureValue": -1
}
]
var result = dates.map(x => (new Date(x.MeasureDate)).getTime()).indexOf(Math.max(...dates.map(a=>(new Date(a.MeasureDate)).getTime())))
console.log(result)
关于javascript indexOf map 函数的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47214954/