gpt4 book ai didi

javascript - 如何返回对象而不是控制台日志值

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

我编写了一个 JavaScript 函数来查找奇数整数的数量、负整数的数量、平均值和中值。

代码正在完成我想要的一切,但是,我想知道是否可以重写它以使函数返回对象而不仅仅是控制台日志值。我还添加了一个指向我的 JS Bin ( https://jsbin.com/digagozuru/edit?html,css,js,console,output ) 的链接

如有任何意见或建议,我们将不胜感激!谢谢。

  var arrayAnalyzer = function(myArray) {

var odds = 0;
var negatives = 0;
var avg;
var median;

for (var i = 0; i < myArray.length; i++) {
if (myArray[i] % 2 !== 0) {
odds += 1;
}
if (myArray[i] < 0) {
negatives += 1;
}
}

console.log("There are " + odds + " odd numbers.");
console.log("There are " + negatives + " negative numbers.");

var sum = myArray.reduce(function(previousValue, currentValue) {
return previousValue + currentValue;
});

avg = sum / myArray.length;
console.log("The average is " + avg.toFixed(2));

var orderedArray = myArray.sort(function(a, b) {
return a - b;
});

if (orderedArray.length % 2 === 0) {
var position1 = orderedArray.length / 2;
var position2 = position1 - 1;
median = (orderedArray[position1] + orderedArray[position2]) / 2;
} else {
var position = Math.floor(orderedArray.length / 2);
median = orderedArray[position];
}

console.log("The median is " + median);
};

arrayAnalyzer([7, -3, 0, 12, 44, -5, 3]);

最佳答案

var arrayAnalyzer = function(myArray) {

var odds = 0;
var negatives = 0;
var avg;
var median;

for (var i = 0; i < myArray.length; i++) {
if (myArray[i] % 2 !== 0) {
odds += 1;
}
if (myArray[i] < 0) {
negatives += 1;
}
}

console.log("There are " + odds + " odd numbers.");
console.log("There are " + negatives + " negative numbers.");

var sum = myArray.reduce(function(previousValue, currentValue) {
return previousValue + currentValue;
});

avg = sum / myArray.length;
console.log("The average is " + avg.toFixed(2));

var orderedArray = myArray.sort(function(a, b) {
return a - b;
});

if (orderedArray.length % 2 === 0) {
var position1 = orderedArray.length / 2;
var position2 = position1 - 1;
median = (orderedArray[position1] + orderedArray[position2]) / 2;
} else {
var position = Math.floor(orderedArray.length / 2);
median = orderedArray[position];
}

console.log("The median is " + median);
// Returns an object with named attributes
return {
odds:odds,
negatives:negatives,
avg:avg,
median:median
};
};

var myArray = arrayAnalyzer([7, -3, 0, 12, 44, -5, 3]);
console.log("Odds: " + myArray.odds +
"\nNegatives: " + myArray.negatives +
"\nAverage:" + myArray.avg +
"\nMedian: " + myArray.median);

关于javascript - 如何返回对象而不是控制台日志值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35760524/

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