面试题数字求和

今天刷到了一道较为简单的题,数字求和,设计一个函数sum(),实现以下功能:
// Should equal 15
sum(1, 2, 3, 4, 5);
// Should equal 0
sum(5, null, -5);
// Should equal 10
sum(‘1.0’, false, 1, true, 1, ‘A’, 1, ‘B’, 1, ‘C’, 1, ‘D’, 1, ‘E’, 1, ‘F’, 1, ‘G’, 1);
// Should equal 0.3, not 0.30000000000000004
sum(0.1, 0.2);
拿到这个题,一想挺简单的,这就是涉及到了转换为数值类型的问题,下面上代码:

<script>
	function sum() {
		var args = arguments;
		var sum = 0;
		for (i = 0; i < args.length; i++) {
			sum += parseFloat(args[i]) || 0;
		}
		return numSum.toFixed(3) * 1000 / 1000;
	}
	console.log(sum(1, 2, 3, 4, 5));
    console.log(sum(5, null, -5)); 
 	console.log(sum(0.1, 0.2));
    console.log(sum('1.0', false, 1, true, 1, 'A', 1, 'B', 1, 'C', 1, 'D', 1, 'E', 1, 'F', 1, 'G', 1));
</script>

上结果:
在这里插入图片描述
搞定!!!!

猜你喜欢

转载自blog.csdn.net/qq_48784569/article/details/107423471