Функция отображения массива

#javascript #typescript

#javascript #машинописный текст

Вопрос:

Как мне использовать функцию отображения массива для замены одного из обновленных объектов?

У меня есть массив объекта. Свойство объекта может быть обновлено пользователем. После успешного завершения операции необходимо обновить локальный кэш.

 private _setUpdatedReportingEntity( collection:Array<any>, item:ReportingEntity): any
{
    let updatedCollection = collection.map( function(v){
        if( v.otherCompanyId === item.otherCompanyId){

            return item;
        }else{
            return v;
        }

    });
    return updatedCollection;
}
  

Заменит ли эта функция старый объект новым объектом?

Ответ №1:

Да, он заменит старый объект новым объектом в обновленном массиве, созданном с помощью map метода, без изменения исходного массива.

Вы можете использовать ES6 и сократить код.

 collection.map(v => (v.otherCompanyId === item.otherCompanyId ? item : v));