gpt4 book ai didi

JavaScript - 基于数组计算值

转载 作者:行者123 更新时间:2023-11-28 15:08:25 25 4
gpt4 key购买 nike

我有一个数组,如下图所示,其中包含许多值,我想对这些值进行一些计算,然后将其推送到单独的数组。

这是我正在使用的数组和数据的示例:

Original Array

我想将这些数据推送到一个名为 formatted 的数组中,该数组必须包含以下信息:

名称 - 取自原始数组的名称

min - 原始数组中的最小值

ma​​x - 原始数组中的最大值

Q1 - 这是下四分位数,通过将 p30 和 p40 值相加并除以 2 从原始数组计算得出

Q4 - 这是上四分位数,通过将 p70 和 p80 值相加并除以 2 计算得出

中位数 - 这是通过将 p50 和 p60 值相加并除以 2 计算得出的

这是我如何尝试解决此问题的示例,但如下所示,每个值都出现错误:

 var formated = [];
for(var i=0; i < final.length; i++) {
formated.push({
name: final[i].name,
min: final[i][0],
max: final[i].length -1,
Q1: (final[1] + final[2] / 2),
Q2: (final[5] + final[6] / 2),
meidan: (final[3] + final[4] / 2)
});
}

enter image description here

最佳答案

假设所有对象始终具有相同的 p 值,这就是您需要的:

 var formated = [];
for(var i=0; i < final.length; i++) {
formated.push({
name: final[i].name,
min: final[i].p20,
max: final[i].p90,
Q1: ((final[i].p30 + final[i].p40) / 2),
Q2: ((final[i].p70 + final[i].p80) / 2),
median: ((final[i].p50 + final[i].p60) / 2)
});
}

上面的更优雅的版本,使用Array.prototype.map():

 var formated = final.map(function(item){
return {
name: item.name,
min: item.p20,
max: item.p90,
Q1: ((item.p30 + item.p40) / 2),
Q2: ((item.p70 + item.p80) / 2),
median: ((item.p50 + item.p60) / 2)
};
});

关于JavaScript - 基于数组计算值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37839460/

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