• Как добраться до вложенного объекта в массиве?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Буквально в лоб добраться до пола первой подруги или друга первого юзера можно так:
    users[0].friends[0].gender

    Для решения задачи сначала нужно вытащить из каждого элемента массива (из каждого user) только его свойство friends (массив). Был объект user, стал только его массив friends. Методом map()

    Причём, в массиве friends методом filter() надо оставить только тех, где gender === 'female'

    Так из начального массива users получится массив массивов – иногда пустых, иногда с девушками.
    Массив массивов сделать просто-массивом, без пустышек, можно методом flat()

    Ну а потом можно эти два последовательных метода map(fn).flat() заменить на один, делающий то же самое, flatMap(fn)

    spoiler
    users.flatMap(({ friends }) => friends.filter(({ gender }) => gender === 'female'));
    
    // [ {"name":"Mira","gender":"female"}, {"name":"Aria","gender":"female"}, {"name":"Keit","gender":"female"} ]
    Ответ написан
    1 комментарий