如何解决将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,3,4])
返回2.5。
在开始尝试if之前,它可以正常工作,但不能解决我的问题:
function average() {
array = [1,3];
var i = 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
,因为它将覆盖参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。