我目前正在开始 Javascript 编码课程。有一项任务要求我检查序列号是否有效,如果有效,则将其添加到数组中以存储所有有效的序列号。
序列号必须是:
这是我当前的代码:
function findEfficientBulbs(serialNumbers) {
console.log(serialNumbers);
const efficientSerialNumbers = [];
for (let i = 0; i < serialNumbers.length; i++) {
let currentNumber = serialNumbers[i]
if (currentNumber % 2 === 1 && currentNumber.length === 6) {
efficientSerialNumbers.push(currentNumber)
}
};
return efficientSerialNumbers;
}
根据平台,此代码并没有删除偶数,错误消息如下:
'应保留所有有效数字 - 那些奇数且有 6 个数字
中的数字✕断言错误:预期 [] 深度等于 [234567, 456789]
日志
[ 123456, 234567, 345678, 456789 ]'
已经尝试过上面的方法,以及嵌套的 If 语句
对于数值,这始终是
false
:
currentNumber.length === 6
因为数字没有
length
属性,所以该值是 undefined
。
您可以先将数字转换为字符串:
currentNumber.toString().length === 6