数组映射函数


如何使用

数组映射函数替换其中一个更新的对象?

我有一个对象的数组。对象属性可以由用户更新。操作成功后,需要更新本地缓存。

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));

最新更新