Typescript : 두 클래스 간의 각 멤버를 반복하고 Angular의 플래그 차이

user10126227

두 클래스 모델을 비교하고 해당 차이점을 찾으려면 어떻게합니까? 다음은 정확히 동일한 멤버를 가진 두 모델이며 비교해야합니다.

이것을 수행하는 Typescript에 알고리즘이 있습니까? * 새로운 결과 클래스는 클래스 멤버와 부울 다른 플래그로 생성되어야합니까?

Typescript 알고리즘에서 쉬운 방법을 찾고 있습니다. 모든 수업을 수락해야합니다.

참고 : 클래스의 일부 멤버는 클래스 자체를 포함합니다.

현재

여기에 이미지 설명 입력

수업:

export class PropertyLocation {   
    streetName: string;
    streetType: string;
    postdirectional?: string;
    unitNumber?: string;
    unitType?: string;
    city: string;
    state?: string;
    postalCode: number;
    postalCodeExtension?: string;

    effectiveStartDate: Date;
    addressChangeReason?: AddressChangeReasonDto
    addressSource?: SourceOfAddressDto;
}

결과 클래스 배열 샘플 :

더 최적의 저장 방법이 있다면 자유롭게 수정하십시오

export class DifferenceClass {   
    ClassMember: string;
    DifferentFlag: boolean
}

코드 솔루션을 찾고, 회사가 선호하지 않는 타사 라이브러리 사용을 자제

Mwilson

비교를 실행하는 클래스에 메서드 / 함수를 빌드하지 않는 이유는 무엇입니까? 각 속성을 개별적으로 비교 (모든 것을 입력)하거나 클래스의 모든 키를 반복하고 전달 된 객체의 모든 키와 비교하여이를 수행 할 수 있습니다.

class DifferenceClass {   
    constructor(classMember, differenceFlag) {
      this.ClassMember = classMember;
      this.DifferenceFlag = differenceFlag;
    }
}
class Person {
  constructor(firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
  }
  isSame(person) {
    if (person instanceof Person) {
      const differences = [];
      for (const key in person) {
        if (this[key] !== person[key]) {
          differences.push(new DifferenceClass(key, true));
        }
      }
      return differences;
    } else {
      throw new Error('Object is not a Person class');
    }
  }
}

const p1 = new Person('John', 'Doe');
const p2 = new Person('Jane', 'Doe');
console.log('Should be empty', p1.isSame(p1));
console.log('Should have diff results', p1.isSame(p2));
console.log('should be an exception', p1.isSame(1));

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

정적 멤버가있는 클래스와 typescript의 네임 스페이스 / 모듈 간의 차이점

분류에서Dev

Jquery는 각 카트를 반복하고 해당 클래스의 데이터를 가져옵니다.

분류에서Dev

"this"를 입력하지 않는 방법. Typescript의 모든 클래스 멤버 앞에?

분류에서Dev

Pandas-각 반복 가능한 클래스의 ID를 그룹화하고 열의 목록에 넣습니다.

분류에서Dev

클래스 멤버로 두 클래스 간의 공유 포인터

분류에서Dev

파일, 클래스 및 정의 간의 관계를 만드는 꼭두각시

분류에서Dev

클래스 멤버로서의 파이썬 반복자?

분류에서Dev

템플릿 기반 클래스를 사용하여 "정적 데이터 멤버의 정의가 해당 클래스 범위에 있음"의 사양 규칙

분류에서Dev

C ++ : 멤버 컨테이너의 반복기 인터페이스를 클래스 인터페이스로 전달

분류에서Dev

클래스 외부 멤버 템플릿 정의에 'requires-clause'선언을 반복해야하는 이유

분류에서Dev

cout이 클래스의 개인 멤버를 호출하는 방법

분류에서Dev

두 개의 유사한 클래스에 대해 멤버 함수를 한 번 정의 하시겠습니까?

분류에서Dev

두 클래스 간의 UML 클래스 다이어그램 관계

분류에서Dev

서비스를 확장하는 클래스의 멤버

분류에서Dev

클래스의 정적 멤버를 정의하는 방법

분류에서Dev

멤버 함수에 두 템플릿이 모두 사용되는 클래스 템플릿 내의 멤버 함수에 대한 단일 템플릿 정의

분류에서Dev

클래스의 모든 멤버를 현재 개체에 복사

분류에서Dev

Typescript 객체 클래스 멤버는 인터페이스로 정의됩니다.

분류에서Dev

클래스의 각 속성에 할당 된 값이 있음을 확인하는 TypeScript의 일반 테스트

분류에서Dev

HTML (Angular)에서 두 행 클래스 사이의 공간

분류에서Dev

꼭두각시 클래스 순서는 정의를 사용하여 중단

분류에서Dev

기본 클래스 템플릿의 멤버 변수를 참조하는 간단한 방법

분류에서Dev

하위 클래스의 클래스 템플릿 비 유형 멤버 액세스

분류에서Dev

두 클래스의 하위 클래스 인 클래스를 만드는 방법

분류에서Dev

멤버 friend 함수를 클래스의 다른 멤버를 사용하지 않고 포인터를 사용하여 개인 데이터 멤버 클래스에 액세스 할 수있는 이유는 무엇입니까?

분류에서Dev

인터페이스를 사용하여 인스턴스화 된 클래스의 개인 멤버에 액세스

분류에서Dev

데이터 프레임에서 두 개의 datetime 열을 비교하고 플래그를 반환합니다.

분류에서Dev

ViewHolder를 RecyclerView.Adapter의 클래스 멤버로 만들 때 getAdapterPosition이 잘못된 값을 반환하는 이유

분류에서Dev

컴포지션 또는 친구 클래스를 사용하여 다른 클래스의 멤버 함수를`this '클래스의 멤버 함수로 액세스

Related 관련 기사

  1. 1

    정적 멤버가있는 클래스와 typescript의 네임 스페이스 / 모듈 간의 차이점

  2. 2

    Jquery는 각 카트를 반복하고 해당 클래스의 데이터를 가져옵니다.

  3. 3

    "this"를 입력하지 않는 방법. Typescript의 모든 클래스 멤버 앞에?

  4. 4

    Pandas-각 반복 가능한 클래스의 ID를 그룹화하고 열의 목록에 넣습니다.

  5. 5

    클래스 멤버로 두 클래스 간의 공유 포인터

  6. 6

    파일, 클래스 및 정의 간의 관계를 만드는 꼭두각시

  7. 7

    클래스 멤버로서의 파이썬 반복자?

  8. 8

    템플릿 기반 클래스를 사용하여 "정적 데이터 멤버의 정의가 해당 클래스 범위에 있음"의 사양 규칙

  9. 9

    C ++ : 멤버 컨테이너의 반복기 인터페이스를 클래스 인터페이스로 전달

  10. 10

    클래스 외부 멤버 템플릿 정의에 'requires-clause'선언을 반복해야하는 이유

  11. 11

    cout이 클래스의 개인 멤버를 호출하는 방법

  12. 12

    두 개의 유사한 클래스에 대해 멤버 함수를 한 번 정의 하시겠습니까?

  13. 13

    두 클래스 간의 UML 클래스 다이어그램 관계

  14. 14

    서비스를 확장하는 클래스의 멤버

  15. 15

    클래스의 정적 멤버를 정의하는 방법

  16. 16

    멤버 함수에 두 템플릿이 모두 사용되는 클래스 템플릿 내의 멤버 함수에 대한 단일 템플릿 정의

  17. 17

    클래스의 모든 멤버를 현재 개체에 복사

  18. 18

    Typescript 객체 클래스 멤버는 인터페이스로 정의됩니다.

  19. 19

    클래스의 각 속성에 할당 된 값이 있음을 확인하는 TypeScript의 일반 테스트

  20. 20

    HTML (Angular)에서 두 행 클래스 사이의 공간

  21. 21

    꼭두각시 클래스 순서는 정의를 사용하여 중단

  22. 22

    기본 클래스 템플릿의 멤버 변수를 참조하는 간단한 방법

  23. 23

    하위 클래스의 클래스 템플릿 비 유형 멤버 액세스

  24. 24

    두 클래스의 하위 클래스 인 클래스를 만드는 방법

  25. 25

    멤버 friend 함수를 클래스의 다른 멤버를 사용하지 않고 포인터를 사용하여 개인 데이터 멤버 클래스에 액세스 할 수있는 이유는 무엇입니까?

  26. 26

    인터페이스를 사용하여 인스턴스화 된 클래스의 개인 멤버에 액세스

  27. 27

    데이터 프레임에서 두 개의 datetime 열을 비교하고 플래그를 반환합니다.

  28. 28

    ViewHolder를 RecyclerView.Adapter의 클래스 멤버로 만들 때 getAdapterPosition이 잘못된 값을 반환하는 이유

  29. 29

    컴포지션 또는 친구 클래스를 사용하여 다른 클래스의 멤버 함수를`this '클래스의 멤버 함수로 액세스

뜨겁다태그

보관