>source

이 개체의 특정 값을 기준으로 개체를 정렬하려고 합니다.

나는 이 물건을 가지고 있다

{productName: 'Product 1', productColor: 'red', productQuantity: 5},
{productName: 'Product 2', productColor: 'green', productQuantity: 0},
{productName: 'Product 3', productColor: 'yellow', productQuantity: 1},
{productName: 'Product 4', productColor: 'black', productQuantity: 0},

이제 제품을 정렬하고 productQuantity가 0인 제품을 끝으로 설정해야 합니다.

기능을 설정하려고 했지만 작동하지 않습니다.

sortProducts(arr: any){
        return arr.sort((a, b)=> {
            if (a.variants[0].quantity > b.variants[0].quantity) {
                return 1;
            }
            if (a.variants[0].quantity < b.variants[0].quantity) {
                return -1;
            }
            return 0;
        });
    }

귀하의 code는 게시물에 있는 개체의 상위 항목을 정렬하는 것처럼 보입니다. 가지고 있는 데이터를 명확히 하고 예상 출력을 추가하십시오.

D M2022-01-31 14:36:59

아직 투어에 참여하지 않았다면(배지를 받습니다!) 둘러보고 도움말 센터, 특히 어떻게 좋은 질문을 합니까?를 읽어보십시오. 또한 Jon Skeet의 Writing Perfect Question 및 Question 체크리스트도 추천합니다. 귀하의 code는 귀하의 "객체"에 없는 것을 참조합니다. (그리고 당신의 객체는 배열입니까? 그렇다면 배열도 객체이지만 일반적으로 객체가 아니라 배열이라고 말할 것입니다.)

T.J. Crowder2022-01-31 14:37:53

@DM -그것도 아니고, 샘플 "오브젝트" 어디에도 수량은 존재하지 않습니다. productQuantity를 의미한다고 추측할 수 있지만...

T.J. Crowder2022-01-31 14:38:31
  • 이전 javascript : 복잡한 프로젝트를 Angular 1.5에서 2로 마이그레이션하는 방법은 무엇입니까?
  • 다음 typescript : 숫자 정밀도에 대한 '실제' 부동 소수점 필드 유효성 검사