]
массив фильтрации объектов с массивами на основе вложенного значения
вы пытаетесь отфильтровать массив объектов, основанных на вложенной стоимости в них. объекты Цель состоит в том, чтобы создать новый массив, который включает только объекты с определенным значением для вложенного свойства.
для достижения этого вы использовали следующую формулу:
let filteredArray = arrayOfElements.filter((element) => element.subElements.some((subElement) => subElement.surname === 1));] Эта формула отфильтровала объекты из исходного массива, у которого есть как минимум одна подзадач -ЭSELEMENT со свойством фамилии, равным 1. Однако вывод не совсем то, что вы ожидали. Вместо того, чтобы удалять подэлементы, которые не соответствуют условию фильтра, он возвращает объекты со всеми подэлементами, включая те, которые не совпадают. вместо функции фильтра. Это позволит вам создать новый массив, преобразуя каждый элемент в исходном массиве. Трансформированный элемент будет включать только подэлементы, которые соответствуют условию фильтра.
Вот улучшенная формула с использованием функции отображения:
let filterEdarray = arrayofelements.map ((element) => { return {... element, subelents: element.subelements.filter ((subelement) => subelement.surname === 1)} })
в этой улучшенной формуле:
let filteredArray = arrayOfElements.filter((element) => element.subElements.some((subElement) => subElement.surname === 1));
функция карты итерации по каждому элементу в массиве ArrayOfelements.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3