【发布时间】:2019-09-28 04:44:51
【问题描述】:
我正在尝试将我的数组格式化为格式化字符串,我该怎么做? 我得到的指示是
任务 6 - 查找列表中的所有奇数。
允许将任意数量的 Number 参数传递给函数。
如果传递给函数的值不是数字,则忽略它
并继续处理其余部分。如果列表为空(没有通过
给函数,或者都需要忽略,返回null)。
返回一个列表中所有奇数的格式化字符串,例如:
“1、3、5”
<script>
var odd = [];
const oddNumbers = (...numbers) => {
var oddNum
var formatString;
var i;
if (numbers.length > 0) {
for (i = 0; i < numbers.length; i++) {
if (isNaN(numbers[i]) === false && (numbers[i] % 2 !== 0)) {
odd.push(numbers[i]);
console.log(odd);
}
}
} else {
return null;
}
return odd;
};
oddNumbers(1, 2, 34, 54, 55, 34, 32, 11, 19, 17, 54, 66, 13);
alert(odd);
</script>
【问题讨论】:
-
numbers.filter(n => n % 2 !== 0).join(", ") -
@epascarello 这也将包括非数字,并且不检查长度 0
-
我会使用
const odds = []; for (let i = 0; i < numbers.length; i++) { const num = numbers[i]; if (typeof num === 'number' && num % 2 === 1) { odds.push(num); } } if (odds.length === 0) { return null; } return odds.join(', '); -
不是很难添加非数字检查
!isNaN(n)并且不是一个完整的答案,因此是评论;)
标签: javascript arrays