gpt4 book ai didi

javascript - 根据 100 max 计算数组

转载 作者:行者123 更新时间:2023-11-30 07:44:32 26 4
gpt4 key购买 nike

假设我有一个这样的 JS 数组...

var newArray = [20,182,757,85,433,209,57,828,635];

我想使用此数据创建一个条形图,其中最高条形的高度 == 100。因此,需要将 828 值柱设置为 100,其余柱需要相对于该柱进行计算,并计算为最接近的整数。我不确定该怎么做?

有没有办法使用循环从上面的数组创建一个新数组?那我可以使用新数组吗?

最佳答案

首先,计算最大值:

var max = Math.max.apply(Math, newArray.map(Math.abs));
// will do `Math.max(300, 20, 182, ...)`
// if `newArray` is `[-300, 20, 182]`

然后,将每个元素除以该值,乘以 100,然后向下舍入,使最高值变为 100:

var normalized = newArray.map(function(v) {
return Math.round(v / max * 100);
});

.map 本质上是一个循环,但循环是在内部完成的,因此您可以编写更简洁的代码。请注意它是 ES5,因此您需要为旧版浏览器提供一个 shim。

关于javascript - 根据 100 max 计算数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9547765/

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