party_bid 세 가지 데이터 구조 총화

3844 단어 데이터 구조
세 가지 데이터 구 조 를 다 쓴 지 오래 되 었 습 니 다. 지금 제 인식 을 말씀 드 리 면 세 가지 데이터 구 조 는 각각 장점 이 있 습 니 다.
1. 첫 번 째 는 이렇다.

activities = [
    {
        name: "first activity",
        sign_ups:[],
        bids:[]
    },
    {
        name: "second activity",
        sign_ups: [ {name:"  ",phone:"13600000000"} ,{name:"  ",phone:"13600000000"}] 
        bids:[ {name:"  1", biddings :[] },{name:"  2",
                biddings : [{name: "  ",
                            phone:"13600000000",
                            price: "10"}] }] 
    }
];

이런 데이터 구 조 는 현지에서 저장 되 는데 구조 가 비교적 뚜렷 해 보이 기 때문에 하나의 큰 대상 배열 만 저장 하고 모든 대상 은 세 개의 속성 으로 구성 된다. 이 세 가지 속성 은 각 활동 의 활동 명칭, 활동 신청 정보 와 활동 가격 경쟁 정 보 를 각각 저장 해 야 한다.그 중에서 가격 경쟁 정보의 저장 이 비교적 복잡 하고 가격 경쟁 정보의 모든 대상 은 또 하나의 대상 배열 을 끼 워 넣 었 다.그래서 가격 경쟁 정보 에 대한 첨삭 조 사 는 상대 적 으로 복잡 하 게 이 루어 졌 고 대량의 underscore 를 사용 했다.
예 를 들 어 가격 경쟁 문자 의 내용 을 현지 에 저장 하려 면 아래 와 같이 실현 해 야 한다.
bidding.save_bid_=function(activity,phone,bid){
    var bids= _.map(activity.bids, function (bid) {
        if (bid.name == localStorage.current_bid) {
            var bidder = new bidding(localStorage.current_name, phone, bid)
            bid.biddings.push(bidder)
        }
        return bid
    })

2. 두 번 째 데이터 구 조 는 다음 과 같다.
activities = {
    "0":{ name: "first activity",
          sign_ups:[],
          bids:[],
          biddings:{}  },
   
    "1": {
        name: "second activity",
        sign_ups: [ {name:"  ", phone:"13600000000" }] 
        bids:["  1","  2"],
        biddings:{
            "  1":[  {phone:"13600000000", price: "12"},
                      {phone:"15600000000",price: "10"}]
            "  2":[  {phone:"13600000000",price: "10"}] 
    }
}

이러한 저장 구조의 외층 은 하나의 큰 대상 이 고 대상 안에 모든 활동 의 id 가 저장 되 어 있 으 며 모든 활동 은 네 개의 속성 으로 구성 되 어 있 으 며 이전 보다 가격 경쟁 을 저장 하 는 배열 이 하나 더 많다.이렇게 하면 페이지 에 가격 경쟁 목록 을 쉽게 나타 내 고 첫 번 째 데이터 구조의 복잡 한 연산 을 거 쳐 야 가격 경쟁 페이지 에 표시 해 야 할 데 이 터 를 추출 할 수 있다.이런 데이터 구 조 는 그 중의 데이터 요소 에 대한 첨삭 과 검 사 를 쉽게 실현 하여 사용 하기에 매우 편리 하 다.
3. 세 번 째 데이터 구 조 는 다음 과 같다.

activities = [{id:"0", name: "first activity" },{id:"1",
        name: "second activity"}]
   

sign_ups = [{name:"  ",phone:"13600000000",activity_id:"0"},
            {name:"  ",phone:"13600000000",activity_id:"0"},                 
            {name:"  ",phone:"15600000000",activity_id:"0"}
           ]    
bids = [{name: "  1",activity_id:"0",biddings[]},
        {name: "  1",activity_id:"1",biddings[
                     {phone:"13600000000", price: "12"},
                     {phone:"15600000000",price: "10"}]}]

이러한 데이터 구 조 는 세 개의 배열 이 공존 하고 각 배열 이 각각 직무 를 맡 으 며 activities [] 는 모든 활동 이름 을 저장 하고 모든 활동 에 유일한 표지 id 를 추가 하 는 데 사용 된다.sign_ups [] 모든 이벤트 신청 정 보 를 저장 하고 모든 신청 정보 에 해당 하 는 이벤트 id 를 제공 합 니 다. bids [] 는 모든 가격 경쟁 정 보 를 저장 하고 소속 활동 과 소속 가격 경쟁 을 나타 내 는 데 사 용 됩 니 다. 상기 두 가지 에 비해 코드 의 실현 은 더욱 간단 합 니 다.또한 로 컬 저장 공간의 용량 제한 으로 인해 세 개의 배열 을 각각 세 개의 저장 공간 에 저장 할 수 있 기 때문에 이런 데이터 구조의 확장 성 은 앞의 두 가지 보다 높다.
  또한 테스트 의 쓰기 형식 에 대해 진일보 한 인식 을 가지 게 되 었 고 테스트 의 코드 구조 에 대해 어느 정도 알 게 되 었 으 며 앞으로 의 테스트 작성 에 도움 이 되 었 습 니 다.

좋은 웹페이지 즐겨찾기