Size: a a a

React: русскоязычное сообщество

2020 February 19

NY

Naimjon Yunusov in React: русскоязычное сообщество
Дорогие разработчики такой вопрос как мне сделать поиск skuId исходя из выбранного параметров товара: https://stackblitz.com/edit/react-gdrred помогите с алгоритмом не как не могу понят как можно организовать подобные фильтры
источник
2020 February 20

T

The Fallen Phoenix in React: русскоязычное сообщество
Naimjon Yunusov
Дорогие разработчики такой вопрос как мне сделать поиск skuId исходя из выбранного параметров товара: https://stackblitz.com/edit/react-gdrred помогите с алгоритмом не как не могу понят как можно организовать подобные фильтры
Ну я бы сделал так — сформировал регулярное выражение на основе данных фильтра. Им можно быстро пройтись по массиву skus любой длины, применяя к свойству propPath
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Если производительность не важна, можно проще
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
function parsePropPath(string) {
 return string.split(";")
       .map(it => it.split(":"))
       .reduce((object, [key, value]) => {
          object[key] = value
          return object
       }, {})
}
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Например можно организовать так
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
function skusMapper(item) {
 return Object.assign(item, parsePropPath(item.propPath))
}
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Затем нужно хранить текущий выбор фильтров в некоторой переменной в состоянии.
источник

NY

Naimjon Yunusov in React: русскоязычное сообщество
Можете скинут код на редакторе?
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
источник

NY

Naimjon Yunusov in React: русскоязычное сообщество
Сохранил
источник

NY

Naimjon Yunusov in React: русскоязычное сообщество
минуту
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Это indexjs с редактора. Он не дает че-то мне без аккаунта форк сделать, так что только вот так.
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Реализация минимальная и самая простая на коленке.
источник

NY

Naimjon Yunusov in React: русскоязычное сообщество
The Fallen Phoenix
Это indexjs с редактора. Он не дает че-то мне без аккаунта форк сделать, так что только вот так.
источник

NY

Naimjon Yunusov in React: русскоязычное сообщество
The Fallen Phoenix
Это indexjs с редактора. Он не дает че-то мне без аккаунта форк сделать, так что только вот так.
Нормальны вариант ведь? и производительность нормальная
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Ну совсем лажу бы я писать не стал, но можно куда лучше. На тысячах и десятках тысяч товаров это решение начнет лагать
источник

NY

Naimjon Yunusov in React: русскоязычное сообщество
The Fallen Phoenix
Ну совсем лажу бы я писать не стал, но можно куда лучше. На тысячах и десятках тысяч товаров это решение начнет лагать
на  Total found = 1000 вы имеете ввиду?
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
На sku.length > 1000
источник