Кратко
СкопированоСтатический метод 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, поддерживается