如何找出最接近 Epoch 时间的最高值相对于基本 Epoch 值

How to find out the nearest highest value of Epoch time with respect to a base Epoch value

我有一个基本纪元时间值和一个纪元时间数组以及相应纪元时间的值。

我必须从数组中获取纪元时间的值,这样数组中的纪元时间应该等于或最接近小于基本纪元时间的最大值。

有什么功能可以整理这个任务吗?

以下是基准纪元时间:

1557302199295

下面是带值的纪元时间数组。

[ { stime: 1557302193273, value: 3.799999952316284 }, { stime: 1557302243474, value: 6.900000095367432 }, { stime: 1557302205317, value: 6.099999904632568 }, { stime: 1557302194874, value: 1.899999976158142 }, { stime: 1557302208963, value: 8.199999809265137 }, { stime: 1557302199295, value: 2.200000047683716 }, { stime: 1557302193273, value: 3.799999952316284 } , { stime: 1557302243474, value: 6.900000095367432 }, { stime: 1557302205317, value: 6.099999904632568 }, { stime: 1557302194874, value: 1.899999976158142 }, { stime: 1557302208963, value: 8.199999809265137 }, { stime: 1557302199295, value: 2.200000047683716 } ]

我必须知道如何从数组中找出最接近基准纪元时间的纪元时间

您可以对数组进行排序并筛选大于该值的第一项。

const getFirst = (arr, predicate) => {
  for (const val of arr) {
    if (predicate(val)) return val;
  }
  return undefined;
}
var arr = [ { stime: 1557302193273, value: 3.799999952316284 }, { stime: 1557302243474, value: 6.900000095367432 }, { stime: 1557302205317, value: 6.099999904632568 }, { stime: 1557302194874, value: 1.899999976158142 }, { stime: 1557302208963, value: 8.199999809265137 }, { stime: 1557302199295, value: 2.200000047683716 }, { stime: 1557302193273, value: 3.799999952316284 } , { stime: 1557302243474, value: 6.900000095367432 }, { stime: 1557302205317, value: 6.099999904632568 }, { stime: 1557302194874, value: 1.899999976158142 }, { stime: 1557302208963, value: 8.199999809265137 }, { stime: 1557302199295, value: 2.200000047683716 } ];
const x = getFirst(arr.sort((a, b) => a.stime - b.stime), x => x.stime > 1557302199295);

console.log(x);