gpt4 book ai didi

javascript - 在数组中获取高于平均值的值 - JS

转载 作者:行者123 更新时间:2023-11-30 13:45:51 25 4
gpt4 key购买 nike

我正在尝试获取高于给定数组平均值的所有数字。(这进入一个 HTML 页面,所以它与 document.write这是我写的:

sumAndBigger(arrayMaker());

function sumAndBigger(array) {
for (i = 0; i < array.length; i++) {
sum += array;
}
var equalAndBigger = []
var avg = sum / array.length;
for (i = 0; i < array.length; i++) {
if (array[i] > avg) {
equalAndBigger.push(array[i])
}
}
document.write('The numbers are: ' + equalAndBigger)
}

function arrayMaker() {
var array = [];
for (i = 0; i < 5; i++) {
var entrie = +prompt('Enter a number: ');
array.push(entrie)
}
return array;
}

这似乎不起作用..我在这里做错了什么?

提前致谢!

最佳答案

好吧,我在这里给你一个单行代码来获取数组中“严格大于”平均值的所有元素

let array = [1, 2, 3, 4, 5]
let allNums = array.filter(v => v > array.reduce((x, y) => x + y) / array.length);

解释

  • array.reduce((x, y) => x + y) → 数组中所有元素的总和
  • array.reduce((x, y) => x + y)/array.length → 获取平均值

输出

[4, 5]

更详细的代码

function getAverage(arr) {
let sum = 0;

for (let i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum / arr.length;
}

function getGreaterThanAverage(arr) {
let avg = getAverage(arr);
let numbers = [];

for (let i = 0; i < arr.length; i++) {
if (arr[i] > avg) {
numbers.push(arr[i]);
}
}

return numbers;
}

关于javascript - 在数组中获取高于平均值的值 - JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59347247/

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