javascript - javascript Get the difference between an element of an array and the previous one
问题描述
Assuming I have an array of milliseconds values like this:
const array = [
1633236300000,
1633244100000,
1633248000000,
1633252500000,
1633287600000,
1633291500000
]
How can I get the difference between an element of an array and the previous one?
解决方案
1)您可以使用旧式 for 循环,起始索引为1
const array = [
1633236300000, 1633244100000, 1633248000000, 1633252500000, 1633287600000,
1633291500000,
];
const result = [];
for (let i = 1; i < array.length; ++i) {
result.push(array[i] - array[i - 1]);
}
console.log(result);
const array = [
1633236300000, 1633244100000, 1633248000000, 1633252500000, 1633287600000,
1633291500000,
];
const result = array.map((n, i, src) => n - (src[i - 1] ?? 0)).slice(1);
console.log(result);
3)你也可以在这里使用reduce
const array = [
1633236300000, 1633244100000, 1633248000000, 1633252500000, 1633287600000,
1633291500000,
];
const result = array.reduce((acc, curr, i, src) => {
if (i !== 0) acc.push(curr - src[i - 1]);
return acc;
}, []);
console.log(result);
推荐阅读
- javascript - chrome-extension 在模态中查找登录
- io - 为什么 Posix 文件 I/O 总是阻塞?
- jwt - 从 JWK 生成 x5c 证书链
- html - 如何用“”替换CSS中的“
- jenkins - Jenkins v2.7.3 - hudson.security.ACL.as(Lorg/acegisecurity/Authentication;)Lhudson/security/ACLContext
- python - 生成括号问题中超出 Python 递归深度
- wordpress - 带有标签的短文
- javascript - How to plot clients geolocation on a Amcharts map (and deal with the asynchronous provision of the HTML5 geolocation)
- postgresql - 无法将 hstore 扩展安装到新创建的架构
- python - 运行码机/深度学习出错