如果我的问题没有道理,我深表歉意,并且我将尝试更好地解释它...我有一个on对象,在这个对象中我有一个对象数组。我正在尝试更新对象数组中的找到的对象之一,我更新了找到的对象,但它没有更新数组中的原始对象,现在我有了这个
let vendeeCatalogs = workingVendorImplementorInfo.SVendorCatalogImplementorInfo; // This the array of objects
if (vendeeCatalogs.length > 0) {
for (let i = 0; i < vendeeCatalogs.length; i++) {
foundCatalog = workingVendorImplementorInfo.SVendorCatalogImplementorInfo.find(function (x) { return x.CatalogID == vendeeCatalogs[i].CatalogID });
if (foundCatalog) {
foundCatalog.CatalogGenerationGUID = vendeeCatalogs[i].CatalogGenerationGUID;
foundCatalog.BeginEffectiveDate = vendeeCatalogs[i].BeginEffectiveDate;
foundCatalog.EndEffectiveDate = vendeeCatalogs[i].EndEffectiveDate;
foundCatalog.Multiplier = vendeeCatalogs[i].Multiplier;
foundCatalog.Discount = vendeeCatalogs[i].Discount;
foundCatalog.UOMPrecisionTypeID = vendeeCatalogs[i].UOMPrecisionTypeID;
foundCatalog.IsSelected = vendeeCatalogs[i].IsSelected;
}
}
}
我看到这是错误的,因为它所做的只是更新foundCatalog,而不是找到的原始对象。
那么,如何找到对象并更新该对象,以便将更改保存在workingVendorImplementorInfo.SVendorCatalogImplementorInfo中?
最佳答案
为什么不使用findIndex()代替find?
如果您有索引,则可以执行以下操作
vendeeCatalogs [x] .CatalogGenerationGUID = ...
关于javascript - 如何从对象中的对象数组更新对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59687749/