@formasters777

Добавление и изменение объекта в массиве?

Возможно ли добавить и изменить объект массива за 1 шаг?
Например:
items =[
{id:0, color: black, name: 'Main', quantity: 0},
{id:1, color: red, name: 'Second', quantity: 0},
{id:2, color: yellow, name: 'First', quantity: 0}
}
   const [list, setList] = useState([])
    function addObject(item) {
             setList([...list, item])
             setList(current =>
                current.map(obj => {
                  if (obj === item) {
                    return {...obj, quantity: 1};
                  }
                  return obj;
    }))

items.map((good) => {
<div>{good.name}-{good.color}-{good.quantity}</div>
}
}


В этом примере, сначала добавляю объект в массив, а после, меняю его ключ-значение.
или в этом случае мне нужно сначала менять добавляемый объект, а потом уже добавлять его в массив состояния list?
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
@McBernar
Зачем вы сначала добавляете элемент в массив, потом перебираете весь массив, и только после этого добавляете свойство в объект? Почему нельзя просто на входе изменить item и добавить его в массив?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы