Содержание

javascript — Добавление объекта в массив объектов без повторений

Вопрос задан

Изменён 1 год 2 месяца назад

Просмотрен 534 раза

я добавляю в массив объектов объект в двумя полями, как сделать чтоб добавлялись лишь уникальные объекты, у них всех id уникальный. Потому что при выборе одного и того же объекта он будет добавлен несколько раз.

const choiseOrg = (title, value) => {
        setoptionOrg('Выберите организацию')
        if (user.selecetedOrg === undefined) {
            setUser({ ...user, 'selecetedOrg': [{'value':value,'title': title}] })
        } else {
            
            const setelect = user.selecetedOrg;
            setUser({ ...user, 'selecetedOrg': [...setelect, {'value':value,'title': title}] })
        }
    }
  • javascript
  • reactjs
  • next. js

Не понимаю о чем речь, не вижу где тут id и у какого объекта они уникальны.

Попробуйте проверять на уникальночть через includes

if(!array.includes(user.id)) {
    ...добавить в обьект
}

includes проверяет, есть ли такое значение в array

Дополнение

Вот, надеюсь понятно будет:

let user = {
    selectedOrg: [
        {value:1,title:'text'},
        {value:2,title:'text'},
        {value:3,title:'text'}
    ]
}
const choseOrg = (title, value) => {
    if(!user.selectedOrg.find(i => i.value === value)) {
        user.selectedOrg.push({value: value, title: title})
        console.log('добавлено: ', {value:value, title: title})
    } else {
        console.log('пропущено: ', {value:value, title: title})
    }
    
}
choseOrg('text2',1) //-> пропущено, потому что такой value уже есть
choseOrg('text2',3) //-> пропущено, потому что такой value уже есть
choseOrg('text2',4) //-> добавлено
2

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Добавление элементов в массив в Python