вводимому значению: есть список строк, я прогоняю его через фильтр и должен вернуть первые 8 элементов. я использую filter, затем map. в map я возвращаю первые 8, иначе просто делаю return. или лучше filter => slice => map?
как лучше по какому критерию?
А зачем тебе map после slice ?
скорее, как правильнее. есть список на 3000+ строк, нужно смотреть на вхождение + показывать только первые 8. я думаю одним фильтром отделаться или мэпом, но не получится из-за индекса элемента. потому минимум 2 метода
да filter => slice => map
я сейчас делаю filter => map. но есть более логичный вариант filter => slice => map
filter => slice достаточно же будет. Отфильтровал и взял первые 8
а как в jsx вставить?
В фигурных скобках
А блин ) Тогда да, тогда map в jsx еще будет
я про метод filter => slice
правильнее будет через for of c early return
и добавить счетчик?
что такое счетчик?
при возвращении jsx увеличивать на 1 и если он стал = 7 то делать break и выходить из цикла
💁♂️не пойму что вы имеете ввиду. Вы счетчик прям в рендере бахнуть хотите?
если делать через цикл, то кроме итерируемой переменной создать еще 1, которая увеличивается на 1 при нахождении совпадения по строкам. когда она станет равна 7 (например) делается выход из цикла. это можно закинуть в отдельную функцию которая возвращает массив и его закидывать в рендер
const sourceArr = [{active: false, name: "Bar"}, {active: true, name: "Baz"}] const getFiltered = () => { const arr = [] for (item of sourceArr) { if(arr.length === 8) break; if(item.active) arr.push(item); } return arr }
да, типа того. тогда и счетчик не нужен. спасибо!
Обсуждают сегодня