더 나은 데이터 구조 선택 개선

B2C 전자 상거래를 포함한 많은 조직에서 웹 브라우저에서 고객을 확장하는 코드를 작성할 때 데이터 구조의 선택이 좋지 않습니다. DOM 조작 및 클라이언트 측 작업은 비용이 많이 듭니다! 자바 스크립트를 사용하여 웹 브라우저에서 직접 작성/수행/쿼리하는 큰 작업은 비용이 많이 듭니다.

예를 들어, 빈번한 업데이트/추가/제거가 필요한 많은 항목이 포함된 장바구니의 데이터 구조를 설정하는 선택을 말합니다.
아래와 같이 상품 목록과 같은 장바구니 데이터 항목을 구성하는 대신-

{
  "headers": [
    "name",
    "quantity",
    "price"
  ],
  "items": [
    {
      "id": "1232ewr2",
      "name": "Inoculation",
      "quantity": "1",
      "price": "20",
      "sku": "432EGFE"
    },
    {
      "id": "e632r32",
      "name": "Pulp Fiction",
      "quantity": "3",
      "price": "5",
      "sku": "432ERFE"
    },
    ...
  ],
  "total": 35
}


당신이 사용할 수있는 -

{
  "headers": [
    "name",
    "quantity",
    "price"
  ],
  "items": {
    "1232ewr2": {
      "name": "Inoculation",
      "quantity": "1",
      "price": "20",
      "sku": "432EGFE"
    },
    "e632r32": {
      "name": "Pulp fiction",
      "quantity": "3",
      "price": "5",
      "sku": "432ERFE"
    },
    ...
  },
  "total": 35
}


비판적으로 관찰하고 생각해보면 웹 브라우저의 시간 제약에 대한 사용 사례와 개선을 결정하는 몇 가지 관찰이 있습니다.
  • 카트에서 항목을 검색하려면 O(N) 대신 - O(1)이 필요합니다.
  • 카트에 있는 항목의 수량(추가/제거)을 업데이트하려면 O(N) 대신 O(1)이 필요합니다.
  • 카트에서 항목을 제거하려면 O(N) 대신 O(1)이 필요합니다.

  • 항목을 자주 추가/제거/업데이트하는 경우 - 지도와 같은 연관 컨테이너는 인스턴스 배열/연결 목록에 대한 선형 데이터 구조보다 더 편리합니다.
    대규모 지리 공간 데이터를 처리하는 것과 마찬가지로 메타 데이터를 포함하고 자주 참조되는 고정 키워드 또는 태그 집합을 저장하는 반복 데이터입니다.
    따라서 시간을 들여 먼저 문제를 분석한 다음 지원해야 하는 기본 작업을 결정하고 마지막으로 올바른 데이터 구조를 선택하여 각 작업에 대한 리소스 제약 조건을 정량화하십시오.

    좋은 웹페이지 즐겨찾기