Как поменять целую и дробную часть местами в массиве?

Рейтинг: 1Ответов: 2Опубликовано: 21.03.2023

Имеются дробные числа, такие как: 13.455, 897.547 и т.д.

Нужно поменять числа после запятой на числа до запятой, так: 455.13, 547.897.

Как сделать?

Создал массив и этим кодом пытался менять местами цифры

Ответы

▲ 1

Надо уточнить ваш вопрос. В примере у вас не числа, а строки.

Вариант решения для строк:

const arrDouble = ['12.789', '345.897']; // Данные

/** @param {string[]} arr */
const convert = (arr) => arr.map(item => // Меняем массив
    item.split('.') // Каждый элемент делим по разделителю точка
      .reverse() // меняем местами значения
      .join('.') // Собираем значения по разделителю точка
  );

console.log(convert(arrDouble))

Код в одну строку выглядит так:

const convert = (arr) => arr.map(item => item.split('.').reverse().join('.'));
▲ 1

const a = ['12.789', '345.897']
console.log(a.map(x => x.replace(/^(\d+)\.(\d+)$/, '$2.$1')))