fullstackopen-notes/parts/4/blogApp/src/utils.js
2025-06-04 23:59:57 +02:00

51 lines
914 B
JavaScript

const reverse = (string) => {
return string.split("").reverse().join("");
};
const average = (array) => {
const reducer = (sum, item) => {
return sum + item;
};
return array.length === 0 ? 0 : array.reduce(reducer, 0) / array.length;
};
const listHelper = (posts) => {
console.log("lol");
return 1;
};
const totalLikes = (posts) => {
if (!posts) {
return 0;
}
const likeCount = posts
.map((post) => post.likes)
.reduce((cum, value) => cum + value, 0);
return likeCount;
};
const favoritePost = (posts) => {
if (!posts || posts.length === 0) {
return null;
}
const highestLikes = posts.reduce(
(max, post) => (post.likes > max ? (max = post.likes) : max),
0
);
const favoritePost = posts.find((post) => post.likes == highestLikes);
return favoritePost;
};
module.exports = {
reverse,
average,
listHelper,
totalLikes,
favoritePost,
};