javascript indexOf map 函数的结果

标签 javascript arrays ecmascript-6 indexof

我正在对数组进行映射以获取其最大值,然后执行 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/

相关文章:

javascript - 如何在 JavaScript 中删除字符串中多余的空格?

Javascript document.title 在 Safari 中不起作用

javascript - 选择圆弧上的区域

c# - 使用分隔符连接多个字符串

twitter-bootstrap - 使用 ES6 导入加载 Bootstrap 的最佳方法是什么?

javascript - Angular - 是否可以通过指令阻止执行(点击)事件?

C - 以可变大小打印流数组字节

c++ - 使用数组编写自定义 Map 类

javascript - 从 html 文件访问导出的函数

javascript - Npm WARN 已弃用 babel-preset-es2015@6.24.1 : Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs. io/env 进行更新