Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2021, 12:34
Аватар для Sumik
Новичок на форуме
Отправить личное сообщение для Sumik Посмотреть профиль Найти все сообщения от Sumik
 
Регистрация: 16.06.2021
Сообщений: 2

Не рекомендовать некоторые объекты
Добрый день.
Есть страница с рекомендациями некоторых товаров.
Выводятся по 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
но не сработало.

Заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 16.06.2021, 13:42
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,319

Сообщение от Sumik
Всего их много но некоторые из них надо убрать из списка рекомендованных чтобы они не выводились.
Не подскажите как это сделать ?
Нужно знать структуру массива с которым ты работаешь... Ну и условие которое должно ограничивать количество этих элементов...
Ответить с цитированием
  #3 (permalink)  
Старый 16.06.2021, 13:51
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,319

Сообщение от 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))
Ответить с цитированием
  #4 (permalink)  
Старый 16.06.2021, 14:50
Аватар для Sumik
Новичок на форуме
Отправить личное сообщение для Sumik Посмотреть профиль Найти все сообщения от Sumik
 
Регистрация: 16.06.2021
Сообщений: 2

спасибо!
Ответить с цитированием
  #5 (permalink)  
Старый 16.06.2021, 15:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,976

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

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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить некоторые ссылки со страницы при помощи js goga5 Общие вопросы Javascript 7 12.07.2016 14:41
Как удалить объекты select D_Sergeevich Элементы интерфейса 3 16.09.2014 20:13
clone() клонирует копируемые объекты stella1982 jQuery 1 18.08.2014 07:28
jquery вопрос-зачем нужны некоторые фунции Matre jQuery 36 08.01.2011 05:25
Объекты в массиве. delias Общие вопросы Javascript 2 21.04.2010 21:28