Вот несколько различных способов разделения чисел в JavaScript, а также примеры кода:
Метод 1: использование регулярных выражений
function separateNumbers(input) {
// Extract numbers using regular expressions
const numbers = input.match(/\d+/g);
// Print each number on a separate line
numbers.forEach(number => console.log(number));
}
separateNumbers("abc123def456ghi789");
Метод 2: использование цикла и isNaN()
function separateNumbers(input) {
let number = "";
// Loop through each character in the input string
for (let i = 0; i < input.length; i++) {
if (!isNaN(input[i])) {
// If the character is a number, add it to the current number string
number += input[i];
} else {
// If the character is not a number, print the current number and reset it
if (number !== "") {
console.log(number);
number = "";
}
}
}
// Print the last number if there is one
if (number !== "") {
console.log(number);
}
}
separateNumbers("abc123def456ghi789");
Метод 3: использование Split() и isNaN()
function separateNumbers(input) {
const characters = input.split("");
let number = "";
characters.forEach(character => {
if (!isNaN(character)) {
// If the character is a number, add it to the current number string
number += character;
} else {
// If the character is not a number, print the current number and reset it
if (number !== "") {
console.log(number);
number = "";
}
}
});
// Print the last number if there is one
if (number !== "") {
console.log(number);
}
}
separateNumbers("abc123def456ghi789");
Метод 4: использование уменьшения() и isNaN()
function separateNumbers(input) {
const numbers = input.split("").reduce((acc, character) => {
if (!isNaN(character)) {
// If the character is a number, add it to the current number string
acc[acc.length - 1] += character;
} else {
// If the character is not a number, start a new number string
acc.push("");
}
return acc;
}, [""]);
// Print each number on a separate line
numbers.forEach(number => console.log(number));
}
separateNumbers("abc123def456ghi789");
Метод 5: использование регулярного выражения и matchAll() (требуется ES2020+)
function separateNumbers(input) {
const regex = /\d+/g;
const numbers = [...input.matchAll(regex)];
// Print each number on a separate line
numbers.forEach(match => console.log(match[0]));
}
separateNumbers("abc123def456ghi789");