Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.09.2022, 14:43
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 766

Обновить объект
Всем привет.

this.groups = [{..},{..},...]
addGroup   = {..}

            updateGroupToList(addGroup){
              
                this.groups.forEach(element => {
                    if(element.id==addGroup.id){
                        element = addGroup;
                    }
                    return ???;
                });
                
            }

Как мне вернуть обновлённый массив объектов this.groups?
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2022, 15:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

ureech,
updateGroupToList(addGroup){
                let index = this.groups.findIndex(({id}) => id == addGroup.id);
                this.groups[index] = addGroup;
                return this.groups;
            }
Ответить с цитированием
  #3 (permalink)  
Старый 19.09.2022, 16:13
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,510

Если надо именно новый массив, то так:
updateGroupToList(addGroup){
  this.groups = this.groups.map(element => {
    if (element.id === addGroup.id) {
      element = addGroup;
    }
    return element;
  });
}

Только это менее производительно, чем вариант рони.
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 20.09.2022, 11:52
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 766

Ок. Всем спасибо. Aetae, дело в том, что мне вернуть нужно было именно this.groups).
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Полностью удалить объект 1lider Events/DOM/Window 8 07.06.2018 18:20
Добавить объект в другой объект фонарик Общие вопросы Javascript 5 11.10.2015 01:57
Создать объект в объекте Bryant-24 Общие вопросы Javascript 3 10.07.2013 16:06
jQuery (Как открыть объект в этом же окне, щёлкнув по нему мышкой) Объект кусок карты hadzhimuratov (X)HTML/CSS 32 18.06.2012 17:54
Передать ссылку на объект а не объект возникновения события Blazze Events/DOM/Window 0 11.10.2011 00:45