вывести среднюю цену книги

Подскажите пожалуйста примеры или какие-то сайты на которых я смогу больше прочитать инфы для решения задачи. Мне нужен код, который реализует подсчет средней цены книг типа ROMAN. Поле type может быть написано в любом регистре символов (roman, ROMAN).

let books = [
    { name: 'Some-1', author: 'Puskin', type: 'roman', price: 204.5 },
    { name: 'Some-2', author: 'Tolstoy', type: 'ROMAN', price: 321.0 },
    { name: 'Some-3', author: 'Pero', type: 'tale', price: 211.0 },
    { name: 'Some-4', author: 'Koelyo', type: 'roman', price: 204.5 },
    { name: 'Some-5', author: 'Christie', type: 'Roman', price: 245.5 },
    { name: 'Some-6', author: 'Hohol', type: 'tale', price: 366.0 }
];

Ответы (2 шт):

Автор решения: lith.al
  1. Заведи две переменных изначально равные нулю.

  2. Пройди по всему массиву. Для каждого элемента приводи значение type к нижнему регистру и проверяй равно ли оно roman. Если да -- к первой переменной прибавляй price, а ко второй 1.

  3. Если вторая переменная не нуль, подели первую на вторую. Это ответ.

И не слушай нехороших людей из комментов) Методы надо использовать там, где они нужны, а не там, где они снижают читаемость.

→ Ссылка
Автор решения: Vitalya Kochergin
let books = [
    { name: 'Some-1', author: 'Puskin', type: 'roman', price: 204.5 },
    { name: 'Some-2', author: 'Tolstoy', type: 'ROMAN', price: 321.0 },
    { name: 'Some-3', author: 'Pero', type: 'tale', price: 211.0 },
    { name: 'Some-4', author: 'Koelyo', type: 'roman', price: 204.5 },
    { name: 'Some-5', author: 'Christie', type: 'Roman', price: 245.5 },
    { name: 'Some-6', author: 'Hohol', type: 'tale', price: 366.0 }
];

function averagePriceBook(books) {
    let arr = [];
    //Выборка цен жанра роман
    for (key in books) {
        let i = books[key].type.toLowerCase();
        if (i == 'roman'){
            arr.push(books[key].price);
            console.log(books[key]);
        }
    }

    //Массив из цен жанра роман
    let averagePrice = arr.reduce((total, average) => {
        return total + average;
    }, 0)

    averagePrice = averagePrice / arr.length;
    averagePrice = averagePrice.toFixed(1);

    //Нахождение ближайшей цены к среднему арифметическому цен массива
    let closest = arr.sort( (a, b) => Math.abs(averagePrice - a) - 
    Math.abs(averagePrice - b) )[0];

    console.log(`Массив цен жанра Роман: `, arr); //[245.5, 204.5, 204.5, 321]
    console.log(`Среднее арифмитическое цен: `, averagePrice); //243.9
    console.log(`Средняя цена за книгу: `, closest); //245.5
}
averagePriceBook(books);
→ Ссылка