2011-05-26 63 views

回答

2

如果你想在你的結構來維持秩序,你總是可以使用Java的LinkedHashMap像這樣:

cfmlLinkedMap = createObject("Java", "java.util.LinkedHashMap").init(); 

cfmlLinkedMap["a"] = "Apple"; 
cfmlLinkedMap["b"] = "Banana"; 
cfmlLinkedMap["c"] = "Carrot"; 

for(key in cfmlLinkedMap){ 
    writedump(cfmlLinkedMap[key]); 
} 

你也可以做的更多的「java」同樣的事情的方式不知道爲什麼你想但它總是一個選擇:

//no need to init 
linkedMap = createObject("Java", "java.util.LinkedHashMap"); 

//java way 
linkedMap.put("d","Dragonfruit"); 
linkedMap.put("e","Eggplant"); 
linkedMap.put("f","Fig"); 

//loop through values 
iterator = linkedMap.entrySet().iterator();   

while(iterator.hasNext()){ 
    writedump(iterator.next().value); 
} 

//or 

//loop through keys 
iterator = linkedMap.keySet().iterator(); 

while(iterator.hasNext()){ 
    writedump(linkedMap.get(iterator.next())); 
} 

只要記住,鑰匙是案件sessilvi!

1

ColdFusion中10或Railo 4,如果你想值(而不是鍵)的陣列,則可以使用Underscore.cfc library像這樣:

_ = new Underscore();// instantiate the library 

valueArray = _.toArray({first: 'one', second: 'two'});// returns: ['one','two'] 

注:ColdFusion的結構是無序的,這樣你就不會保證對結果數組中的值有任何特定的順序。

(聲明:我寫了Underscore.cfc)

相關問題