对于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;
}
那么有人可以告诉我这段代码创建的结构是什么,以及这段代码实际上在做什么?
答案 0 :(得分:0)
@ritaj指出:
第一行从selectedStayLevelConfig中获取具有对象解构的productIdSet数组。第二种通过解构将数组productIdSet再次映射到productIdCode数组。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
我总是忘记看javascript来解决我的Angular问题。