JS 数组用下一个索引减去值

问题描述 投票:0回答:1

我有一系列递增的数字,代表每周、每月或每年的电表值:

[18240,18290,18340,18400,18470,18510,18600]

我正在寻找 javascript 中的函数。 所需的输出是下一个元素之间的差异,例如:

[50,50,60,70,40,90]

数据在 Excel 中的样子:示例数据:enter image description here

javascript
1个回答
0
投票

您可以使用

filter()
跳过最后一个元素(因为它没有下一个值),并使用
map()
根据先前的值生成新列表。在map函数中,您可以使用
at(i + 1)
来获取下一个值并用它进行一些计算。最终代码:

const input = [18240,18290,18340,18400,18470,18510,18600];
const output = input
  // remove the last element
  .filter((_, i) => i < input.length - 1)
  .map((num, i) => input.at(i + 1) - num);
console.log(output);

© www.soinside.com 2019 - 2024. All rights reserved.