Angular 来说还是新手,这是我必须重构的生产代码,但我无法真正理解它在做什么。
const { productIdSet = [] } = this.selectedStayLevelConfig;
this.selectedProductIds = productIdSet.map(({ productIdCode }) => productIdCode);
我可以告诉你的是,AuthorizationOptionValueDependantConfig看起来像这样。
interface AuthorizationOptionValueDependantConfig extends Serializable {
allowBackdating?: boolean;
attachmentRequired?: boolean;
attachmentRequiredMessage?: string;
backdatingLimit?: number;
defaultProcedureCode?: string;
defaultProcedureCodeSet?: string;
defaultProcedureId?: string;
defaultProcedureName?: string;
extendLineItemAttachmentRequired?: boolean;
extendLineItemAttachmentRequiredMessage?: string;
extendLineItemNoteDefinitionId?: string;
extendLineItemNoteRequired?: boolean;
noteDefinitionId?: string;
noteRequired?: boolean;
optionGroup?: OptionGroup;
optionValueId?: string;
productIdSet?: AuthorizationOptionValueProductId[];
useDefaultProcedure?: boolean;
}
如您所见,它有一个名为 productIdSet 的成员,它是一个 AuthorizationOptionValueProductId。这是:
interface AuthorizationOptionValueProductId extends Serializable, Comparable<AuthorizationOptionValueProductId> {
optionValueProductId?: number;
productIdCode?: string;
}
那么有人可以告诉我这段代码创建的结构是什么以及这段代码实际上在做什么吗?
正如@ritaj指出的:
第一行从 selectedStayLevelConfig 中获取一个带有对象解构的 productIdSet 数组。第二个将数组 productIdSet 映射到 productIdCode 数组,再次解构。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/maphttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
我总是忘记查看javascript来寻找我的Angular问题的答案。