export function getObjectFromArray(array: T[], key: keyof T, value: any): T | undefined { return array.find(obj => obj[key] === value); } export function pushElementToArray(array: T[], element: T): T[] { const newArray = [...array]; // create a new array newArray.push(element); // add the new element to the array return newArray; // return the new array } export function sumValues, K extends keyof T>(array: T[], key: K): number { return array.reduce((acc, obj) => acc + obj[key], 0); }