gpt4 book ai didi

javascript - 当数组的总和大于特定数字时删除数组的最后一个元素

转载 作者:行者123 更新时间:2023-12-05 08:46:47 24 4
gpt4 key购买 nike

只要数组的总和高于限制,我就会尝试删除数组的最后一项。我的代码有效,但似乎会导致速度减慢或崩溃。我想知道是否有更优雅的解决方案。

let array = [166, 157, 251, 171, 191];
let limit = 400;

for (
let sum = array.reduce((a, b) => a + b); sum > limit; sum = array.reduce((a, b) => a + b)
) {
array.pop();
}

console.log(array);

最佳答案

您不需要每次通过循环都对整个数组求和。在开始时计算一次总和。然后从总和中减去您删除的元素。

let array = [166, 157, 251, 171, 191];
let limit = 400;

for (let sum = array.reduce((a, b) => a + b); sum > limit; sum -= array.pop()) {}

console.log(array);

关于javascript - 当数组的总和大于特定数字时删除数组的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69060392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com