2016-10-02 2 views
1

<select> 하위 분류의 드롭 다운 목록을 생성하여 필터를 만들려고합니다. 목록이 생성되면 중복 및 문자열을 얻습니다. 문자열을 분리 한 다음 중복을 제거하려면 어떻게합니까?드롭 다운 목록에서 중복 항목을 제거하십시오.

예 -이 내가 현재 무엇을 얻을

<select data-filter="" class="form-control" name="subClassifications"> 
    <option value="all">Select sub-classification</option> 
     <option value="Audit">Audit</option> 
     <option value="Assurance,Accounting,Audit">Assurance,Accounting,Audit</option> 
</select> 

경로 : helper.js

subClassificationsFilter() { 
    let subClassifications = ProfessionalOverview.find({}, { fields: { subclassification: 1 } }); 

    if (subClassifications) { 
    return _.uniq(subClassifications.map((subClassification) => { 
     return subClassification.subclassification; 
    }), true); 
    } 
}, 
+0

위에 나열된 내용 외에 '.split variables'와 같은 항목을 추가하려고 시도했지만 배열을 만드는 것으로 보입니다. 나는 모든 하위 분류를 어떻게 하나로 그룹화하고, 분할하고, 복제본을 제거하는지에 대해 다소 혼란 스럽다. – bp123

답변

0
subClassificationsFilter() { 
     let subClassifications = ProfessionalOverview.find({}, { fields: { subclassification: 1 } }).fetch(); 
     let subClassification = _.map(subClassifications, function(obj) { 
      return obj.subclassification; 
     }); 

     let groupSubClassification = _.flatten(subClassification); 

     return _.uniq(groupSubClassification).sort(); 
    } 
3

중복

unorderedList = Object.keys(myObject).map(function(key){ 
    return {label: key, value: myObject[key]} 
}); 

그런 다음 정렬되지 않은 목록을 주문을 제거하기 위해 목록을 작성

const orderedList = {}; 
Object.keys(unorderedList).sort().forEach(function(key) { 
    orderedList[key] = unorderedList[key]; 
}); 

드롭 다운을 만들려면 순서가 지정된 목록을 사용하십시오.

+0

Bruno에게 감사 드려요.하지만 잘 작동했지만 밑줄을 대신 사용할 수있었습니다. 의견을 보내 주셔서 감사합니다. – bp123

관련 문제