Методы JavaScript для разделения чисел с примерами кода

Вот несколько различных способов разделения чисел в 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");