Кратко
СкопированоСтатический метод group
группирует элементы итерируемого объекта, опираясь на переданную колбэк-функцию. Она должна возвращать название группы, в которую стоит положить текущий элемент. group
вызовет функцию для каждого элемента и вернёт новый объект, в котором каждое свойство — группа с массивом входящих в неё элементов.
Пример
Скопированоconst colors = [ { value: '50% 0.2 12', name: 'oklch' }, { value: '198, 35, 109', name: 'rgb' }, { value: '55% 0.2 0', name: 'oklch' },]const groupedColors = Object.groupBy(colors, (color, index) => { return color.name === 'oklch' ? 'easyToUnderstand' : 'notEasyToUnderstand'})console.log(groupedColors)/*{ easyToUnderstand: [ { value: '50% 0.2 12', name: 'oklch' }, { value: '55% 0.2 0', name: 'oklch' } ], notEasyToUnderstand: [ { value: '198, 35, 109', name: 'rgb' } ]}*/
const colors = [ { value: '50% 0.2 12', name: 'oklch' }, { value: '198, 35, 109', name: 'rgb' }, { value: '55% 0.2 0', name: 'oklch' }, ] const groupedColors = Object.groupBy(colors, (color, index) => { return color.name === 'oklch' ? 'easyToUnderstand' : 'notEasyToUnderstand' }) console.log(groupedColors) /* { easyToUnderstand: [ { value: '50% 0.2 12', name: 'oklch' }, { value: '55% 0.2 0', name: 'oklch' } ], notEasyToUnderstand: [ { value: '198, 35, 109', name: 'rgb' } ] } */
Как пишется
Скопированоgroup
принимает два аргумента:
- итерируемый объект, например, массив;
- колбэк-функцию.
Колбэк-функция принимает два аргумента: текущий элемент и индекс текущего элемента. Она также должна возвращать значение, которое можно привести к ключу объекта (строке или символу) и которое будет указывать, в какую группу стоит положить текущий элемент.
Поддержка в браузерах:
- Chrome 117, поддерживается
- Edge 117, поддерживается
- Firefox 119, поддерживается
- Safari 17.4, поддерживается