У меня есть такой массив
const arr = [
{
id: '123',
book: {isNew: true}
},
{
id: '123',
book: {isNew: false}
},
{
id: '123',
book: {isNew: false}
},
{
id: '123',
book: {isNew: true}
},
]
Я пытаюсь отфильтровать массив, чтобы вернуть только те объекты, для которых объект книги имеет значение isNew как истинное.
Я пытался что-то вот так
arr.filter(obj => {
// Use a forEach to determine which book obj is new
}
Однако forEach не может возвращать никаких значений.
EDIT
Похоже, мой первоначальный способ объяснения был немного отсутствует.
В каждом объекте массива может быть несколько объектов типа «Книга». Все с ключами Dynami c. Я хочу, чтобы объект имел хотя бы один новый объект «Книга».
Например:
const arr = [
{
id: '123',
book1242: {isNew: true},
book9023: {isNew: false},
},
{
id: '123',
book0374: {isNew: false},
book9423: {isNew: false},
},
{
id: '123',
book8423: {isNew: false},
book9023: {isNew: false},
},
{
id: '123',
book6534: {isNew: true},
book9313: {isNew: false},
},
]
Итак, мой фильтрованный массив будет состоять из первого и последнего элементов исходного массива.