计算一个数组arr所有元素的和
普通方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
var arr=[1,'a',2,3,4];
var sum=0;
for (var i=0;i<arr.length;i++){
if (typeof arr[i]=='number'){
sum+=arr[i];
}
}
document.write(sum);
</script>
</html>
函数封装
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
function sum(arr) {
sum2=0;
for (i=0;i<arr.length;i++){
if (typeof arr[i]=='number'){
sum2+=arr[i];
}
}
return sum2;
}
document.write(sum([1,2,3,4]));
</script>
</html>
结果都是10。typeof arr[i]=='number'是判断当前arr[i]是否为number类型,将字符串('a')或其他类型筛选掉,以免造成运算错误。
我会继续努力!