Middle
// Барои иҷрои функсияи groupBy, ки усулҳои стандартии массивҳоро васеъ мекунад, зарур аст. // Ин функсия бояд нусхаи гурӯҳбандии массивро баргардонад – объект, // ки дар он ҳар калид натиҷаи иҷрои функсияи fn(arr[i]) мебошад, // ва ҳар арзиш як массив аст, ки ҳамаи унсурҳои массиви аслӣ бо ҳамин калидро дар бар мегирад.
sobes.tech AI
Ҷавоб аз AI
Можно расширить прототип массива, добавив метод groupBy, который принимает функцию fn и возвращает объект, где ключи — результат вызова fn для каждого элемента, а значения — массивы элементов с этим ключом.
Array.prototype.groupBy = function(fn) {
return this.reduce((acc, item) => {
const key = fn(item);
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(item);
return acc;
}, {});
};
// Пример использования:
const arr = [6.1, 4.2, 6.3];
const grouped = arr.groupBy(Math.floor);
console.log(grouped); // { '4': [4.2], '6': [6.1, 6.3] }