>

이 두 종류의 구현의 차이점을 설명해 주시겠습니까?

   var vettoreC: Array<number> = [];
        vettoreC = vettoreA;
        this.moda = (function mode(vettoreC) {
          return vettoreC.sort((a, b) =>
            vettoreC.filter(v => v === a).length - vettoreC.filter(v => v === b).length
          ).pop();
        })();

그리고

var vettoreC: Array<number> = [];
    vettoreC = vettoreA;
    this.moda = this.calcolaModa (vettoreC);

calcolaModa가있는 곳

calcolaModa(vettore: Array<number>) {
    return vettore.sort((a, b) =>
      vettore.filter(v => v === a).length - vettore.filter(v => v === b).length
    ).pop();
  }

첫 번째 경우이 오류가 발생했습니다 :

ERROR TypeError: Cannot read property 'sort' of undefined
    at mode (statistiche.component.ts:145)
    at statisticheComponent.webpackJsonp.128.statisticheComponent.calcolaStatistiche (statistiche.component.ts:148)
    at SafeSubscriber._next (statistiche.component.ts:72)
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:238)
    at SafeSubscriber.next (Subscriber.js:185)
    at Subscriber._next (Subscriber.js:125)
    at Subscriber.next (Subscriber.js:89)
    at MapSubscriber._next (map.js:83)
    at MapSubscriber.Subscriber.next (Subscriber.js:89)
    at CatchSubscriber.Subscriber._next (Subscriber.js:125)

두 번째는 올바르게 작동합니다.

첫 번째 구현을 유효하게하려면 어떻게해야합니까?


  • 답변 # 1

    첫 번째 예에서는 마지막 괄호 안에 인수를 전달해야합니다.

    this.moda = (function mode(vettoreC) {
        return vettoreC.sort((a, b) =>
        vettoreC.filter(v => v === a).length - vettoreC.filter(v => v === b).length
        ).pop();
    })(vettoreC);
    
    

    vettoreC 가있는 마지막 줄에 알림  다시 언급됩니다.

  • 이전 scala - akka-http 파일 생성 및 클라이언트로 전송
  • 다음 sql - 단일 쿼리를 사용하여 PostgreSQL의 테이블에서 통계 데이터 가져 오기