2011-03-08 18 views

उत्तर

4

कोई पूर्वनिर्धारित कार्य नहीं है जो आप पूछ रहे हैं, लेकिन यह आपके कार्यों को कार्यान्वित करना आसान है जो ऐसा करेंगे। मेरे द्वारा प्रदान किए गए कार्यों को बहुत सरल और विस्तार करना आसान है।

variables.myList = "one,two,three"; 
variables.myList = ListAppendDistinct(variables.myList, "three"); 
variables.myList = ListAppendDistinct(variables.myList, "four"); 

function ListAppendDistinct(list, value) 
{ 
    var _local = StructNew(); 
    _local.list = list; 
    if (NOT ListContains(_local.list, value)) 
    { 
     _local.list = ListAppend(_local.list,value); 
    } 
    return _local.list; 
} 

आप ऊपर समारोह का उपयोग कर सकते साफ़ सरणी में जोड़ने के लिए यह सब मानता है कि आपके डिफ़ॉल्ट सीमांकक का उपयोग कर रहे हैं। मुझे आपके डेटा के "आकार" के बारे में निश्चित नहीं है क्योंकि यह महंगा हो सकता है।

variables.myArray = ArrayNew(1); 
variables.myArray[1] = "one"; 
variables.myArray[2] = "two"; 
variables.myArray[3] = "three"; 

variables.myArray = ArrayAppendDistinct(variables.myArray, "three"); 
variables.myArray = ArrayAppendDistinct(variables.myArray, "four"); 

function ArrayAppendDistinct(array, value) 
{ 
    var _local = StructNew(); 
    _local.list = ArrayToList(array); 
    _local.list = ListAppendDistinct(_local.list,value); 
    return ListToArray(_local.list); 
} 
9
<cfset temp = structNew()> 
<cfloop list="a,b,c,a,c" index="i"> 
    <cfset temp[i] = ""> 
</cfloop> 
<cfset distinctList = structKeyList(temp)> 

यह आसान समाधान मैं के बारे में सोच सकते हैं। इसका विपक्ष यह आदेश संरक्षित नहीं है, और सूची आइटम केस असंवेदनशील हैं। यदि आपको केस असंवेदनशीलता की आवश्यकता है, तो जावा के हैशसेट का उपयोग करें।

+0

+1 के लिए रचनात्मकता –

+1

@Henry: Awesomely प्रभावित। आपने मुझे बहुत समय बचाया –

7

एक मूल्य जांच जोड़ने से पहले यह देखने के लिए कि क्या यह arrayContains या listFindNoCase का उपयोग करके मौजूद है या नहीं।

4

आप सीएफ 10 या Railo 4 में Underscore.cfc library उपयोग कर सकते हैं:

_ = new Underscore();// instantiate the library  
uniqueArray = _.uniq(array);// convert an array to a unique array 

मुझे नहीं लगता है कि यह है कि तुलना में किसी भी सरल हो जाता है है!

(अस्वीकरण: मैं Underscore.cfc लिखा था)