创建一个 If 语句,使用 2 个标准对 JavaScript 中的序列号进行排序?

问题描述 投票:0回答:1

我目前正在开始 Javascript 编码课程。有一项任务要求我检查序列号是否有效,如果有效,则将其添加到数组中以存储所有有效的序列号。

序列号必须是:

  • 奇数
  • 包含6位数字

这是我当前的代码:

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 语句

javascript if-statement
1个回答
0
投票

对于数值,这始终是

false

currentNumber.length === 6

因为数字没有

length
属性,所以该值是
undefined

您可以先将数字转换为字符串:

currentNumber.toString().length === 6
© www.soinside.com 2019 - 2024. All rights reserved.