Нормализация JavaScript: подробное руководство по методам нормализации данных

В JavaScript под нормализацией данных понимается процесс организации и преобразования данных в согласованный формат. Это помогает улучшить качество данных, уменьшить избыточность и оптимизировать поиск и обработку данных. В этой статье мы рассмотрим различные методы нормализации данных в JavaScript, а также приведем примеры кода.

Метод 1: нормализация строк (нормализация Юникода)
Пример кода:

const str = 'Café';
// NFC normalization (default)
const normalizedStrNFC = str.normalize('NFC');
console.log(normalizedStrNFC); // Output: 'Café'
// NFD normalization
const normalizedStrNFD = str.normalize('NFD');
console.log(normalizedStrNFD); // Output: 'Café'

Метод 2: нормализация объекта
Пример кода:

const data = { id: 1, name: 'John Doe', age: '25' };
// Normalize age to number
data.age = parseInt(data.age);
console.log(data); // Output: { id: 1, name: 'John Doe', age: 25 }

Метод 3: нормализация массива
Пример кода:

const array = [1, 2, 3, null, undefined, '', 4];
// Remove null, undefined, and empty string values
const normalizedArray = array.filter(Boolean);
console.log(normalizedArray); // Output: [1, 2, 3, 4]

Метод 4: нормализация даты
Пример кода:

const date = new Date('2022-05-15T10:30:00Z');
// Extract normalized date components
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
console.log(`${year}-${month}-${day}`); // Output: '2022-5-15'

Метод 5: нормализация URL
Пример кода:

const url = 'https://www.example.com/path/../';
// Normalize URL
const normalizedUrl = new URL(url).href;
console.log(normalizedUrl); // Output: 'https://www.example.com/'

Метод 6: числовая нормализация
Пример кода:

const number = 0.1 + 0.2;
// Normalize floating-point precision
const normalizedNumber = +number.toFixed(2);
console.log(normalizedNumber); // Output: 0.3