Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Не рекомендовать некоторые объекты (https://javascript.ru/forum/css-html/82704-ne-rekomendovat-nekotorye-obekty.html)

Sumik 16.06.2021 12:34

Не рекомендовать некоторые объекты
 
Добрый день.
Есть страница с рекомендациями некоторых товаров.
Выводятся по 3 штуки. Всего их много но некоторые из них надо убрать из списка рекомендованных чтобы они не выводились.
Не подскажите как это сделать ?

getItems(url, downloadAttempt){
const {t} = this.props;

const successCallback = function onSuccess(json){
let items = this.state.items;

//removing duplicate items from json
for (let item of items){
json = json.filter(jsonItem => jsonItem. id !== item.id;)
}

const electedItems = json.map((a) => ({sort: Math.random(), value: a}))
.sort((a, b) => a.sort - b.sort)
.map((a) => a.value)
.slice(0, 3 - items.length)

Пробовала в фильтре написать

&& jsonItem. id !== 2107 && jsonItem. id !== 2110
но не сработало.

Заранее спасибо

ksa 16.06.2021 13:42

Цитата:

Сообщение от Sumik
Всего их много но некоторые из них надо убрать из списка рекомендованных чтобы они не выводились.
Не подскажите как это сделать ?

Нужно знать структуру массива с которым ты работаешь... Ну и условие которое должно ограничивать количество этих элементов...

ksa 16.06.2021 13:51

Цитата:

Сообщение от Sumik
Пробовала в фильтре написать

&& jsonItem. id !== 2107 && jsonItem. id !== 2110

но не сработало.

Как вариант...

let a = [
	{id: 'it1', name: 'Item 1'},
	{id: 'it2', name: 'Item 2'},
	{id: 'it3', name: 'Item 3'},
	{id: 'it4', name: 'Item 4'},
]
a = a.filter(el => ['it2', 'it3'].indexOf(el.id) === -1)
alert(JSON.stringify(a))

Sumik 16.06.2021 14:50

спасибо!

рони 16.06.2021 15:11

Sumik,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.


Часовой пояс GMT +3, время: 21:27.