【发布时间】:2022-01-02 21:11:34
【问题描述】:
朋友们,我需要帮助!
我们需要实现 sum 函数,它接受无限数量的数字作为参数并返回它们的总和。
没有参数的函数调用应该返回 0。如果参数不是数字并且不能强制转换为数字,则应该忽略它。如果能化约为数,那就带上再加,就跟普通数一样。
使用示例:
console.log(
sum(1, 2, 3, 4, 5, 6),
); // 21
console.log(
sum(-10, 15, 100),
); // 105
console.log(
sum(),
); // 0
console.log(
sum(1, 'fqwfqwf', {}, [], 3, 4, 2, true, false),
); // 11. true = 1
我的尝试:
const sum = (...arr) => {
return arr.reduce((a, i) => {
if (isNaN(i)) return Number(i)
return a + Number(i)
}, 0)
};
我不能忽略那些不能转为数字的数据类型的值,如果可能的话,把值转为数字。
如果你能帮忙,我将不胜感激
【问题讨论】:
标签: javascript