Все корректно работает. Почему на проходит проверку?
export const formatNumber = (n) => {
const order = n.toFixed(0).length;
if (order < 4) {
return (n.toFixed(1));
} else {
let i = 0;
let temp = n;
while (temp >= 1000) {
temp = temp / 1000;
i++;
}
let suffix = '';
const getSuffix = (num) => {
const arrayChar = [];
const numChar = (num / 26).toFixed(0);
const nChar = num % 26;
for (let j = 97; j <= 122; j++) {
arrayChar.push(String.fromCharCode(j));
}
return arrayChar[numChar] + arrayChar[nChar];
}
if (i == 1) {
suffix = 'K'
} else if (i == 2) {
suffix = 'M'
} else if (i == 3) {
suffix = 'B'
} else if (i == 4) {
suffix = 'T'
} else {
suffix = getSuffix(i - 5)
}
return (temp.toFixed(2) + suffix);
}
}
Рез-т теста:
Как пример, вывод на консоль:
для helper.js (числа из условия задачи)
import { formatNumber } from './helper.js';
const numbers = [7*1e156, 12352.1, 1234321, 12343210000000, 12343210000000000, 12343210000000000000];
for (let i = 0; i < numbers.length; i++) {
console.log(`Formatted ${numbers[i]} looks like ${formatNumber(numbers[i])}`);
}