如何使用数组映射功能替换更新的对象之一?
我有一个对象数组。 对象属性可以由用户更新。操作成功后,需要更新本地缓存。
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;
}
此功能会将旧对象替换为新对象吗?
答案 0 :(得分:0)
是的,它将用map
方法创建的更新数组中的新对象替换旧对象,而不会更改原始数组。
您可以利用ES6并使代码更短。
collection.map(v => (v.otherCompanyId === item.otherCompanyId ? item : v));