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