You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何计算数组元素与前一个相邻元素的差值

实现方法

你需要的是计算数组相邻元素的前后差值,最终得到的差值数组长度会比原数组少1(第一个元素没有前序相邻元素,无需计算)。

1. 基础for循环实现(最易理解,兼容性最好)

const array = [
  1633236300000,
  1633244100000,
  1633248000000,
  1633252500000,
  1633287600000,
  1633291500000
];
const diffResult = [];
// 从下标为1的第二个元素开始遍历
for (let i = 1; i < array.length; i++) {
  // 用当前元素减去前一个元素得到差值,存入结果数组
  diffResult.push(array[i] - array[i - 1]);
}
console.log(diffResult);
// 输出结果:[7800000, 3900000, 4500000, 35100000, 3900000]

2. 简写实现(数组API写法更简洁)

使用slice+map组合,无需额外过滤无效值,性能更好:

const diffResult = array.slice(1).map((currentVal, index) => currentVal - array[index]);

补充说明

  • 得到的差值单位和原数组一致,这里原数组是毫秒时间戳,所以差值单位也为毫秒,如果需要转换为秒/分钟等其他时间单位,除以对应倍率即可,比如转分钟的公式为:差值 / 1000 / 60。

内容的提问来源于stack exchange,提问作者ufollettu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:06:03