请对javascript编程题作答: 假设我们要售卖8位长的电话号码(从10000000到 99999999 ),请将所有靓号挑选出来存到一个数组里。符合靓号条件的为 后4位数具有特征AAAA,AABB,ABAB,并且后4位数中不包含数字4。 请实现方法getNiceNumber, 不用考虑性能,代码简短优先。
时间: 2024-03-05 17:47:52 浏览: 124
这道题可以分成两个部分来实现。第一部分是找出后四位数为AAAA、AABB或ABAB的电话号码;第二部分是判断后四位数中是否包含数字4。下面是实现getNiceNumber方法的代码:
```javascript
function getNiceNumber() {
const niceNumbers = [];
for (let i = 1000; i < 10000; i++) {
const lastFour = i.toString();
const lastDigit = lastFour[3];
const hasNoFour = lastFour.indexOf('4') === -1;
const isNiceNumber = (
(lastFour === lastDigit.repeat(4)) ||
(lastFour === lastDigit.repeat(2) + lastDigit.repeat(2)) ||
(lastFour[0] === lastFour[2] && lastFour[1] === lastFour[3])
) && hasNoFour;
if (isNiceNumber) {
niceNumbers.push(parseInt(i.toString() + lastFour, 10));
}
}
return niceNumbers;
}
```
首先,我们使用一个循环遍历所有后四位数为1000到9999的电话号码。然后,我们将该四位数转换为字符串,并取出最后一位数字和是否含有数字4的信息。接下来,我们使用条件语句来判断该四位数是否符合靓号条件。最后,如果符合条件,我们将其添加到结果数组中。注意,我们需要将电话号码转换为整数类型,以符合题目要求。
阅读全文