javascript - 结合 IF 语句和数组平均函数
问题描述
我正在尝试获取数组的平均值。如果数组的参数为空,我希望函数返回 null。
我尝试了以下方法,但似乎不起作用:
function average() {
if ((average = [1, 2, 3])) {
var i = 0,
sum = 0,
len = array.length;
while (i < len) {
sum = sum + array[i++];
}
return sum / len;
} else {
return null;
}
}
average();
console.log(average());
如前所述,我想average([])
返回 null,例如average([1, 2, 3, 4])
返回 2.5。
在我开始尝试 if 之前,它运行良好,但没有解决我的问题:
function average() {
array = [1, 2, 3];
var i = 0,
sum = 0,
len = array.length;
while (i < len) {
sum = sum + array[i++];
}
return sum / len;
}
解决方案
检查数组的长度。
function average(array) {
if (array.length > 0) {
var i = 0,
sum = 0,
len = array.length;
while (i < len) {
sum = sum + array[i++];
}
return sum / len;
} else {
return null;
}
}
console.log(average([1, 2, 3, 4]));
console.log(average([]));
您不应该array
在函数中分配,这将覆盖参数。
推荐阅读
- android - Is there a way to store registered devices FCM tokens in Firebase Console?
- linq - How to calculate the 5th heighest salary from Employee Table and Salary Table using LINQ query
- r - Is there a way where i can rearrange a dataframe and turn it into a 3 column dataframe
- c# - How to query the sum of each person's availability base on their skill
- http - I do not understand this paragraph explaining web browser caching
- javascript - 将 js 对象键值设置为始终引用现有变量
- visual-studio - Visual Studio not recognizing installed Core SDKs
- python-3.x - Plotting Grid Search CV grid parameter results on one graph
- vue.js - Is there anyway to set a different value for the "input" than the vue variable?
- android - 在 Android 中使用 MUPDF 1.2 或更低版本创建 64 位 .so 文件