This version is out of date, covering development from v9.5.0 to v9.7.3. It is maintained here only for inbound reference links from elsewhere. It is no longer actively updated.

Jump to the current version of aTbRef

Tinderbox v9 Icon

Dictionary.keys()


Operator Type: 

Operator Scope of Action: 

Operator Purpose: 

Operator First Added: 

Operator Last Altered: 

 Property  [other Property type actions]

 Item  [operators of similar scope]

 Dictionary, Set & List operations  [other Dictionary, Set & List operations operators]

 Baseline

 As at baseline


Syntax note: Operators without any defined mandatory arguments may omit their empty closing parentheses


Dictionary.keys()

Dictionary.keys

A List-type property. Returns a list of unsorted key names (i.e. only the keys' strings and not those of values) for this note. Unlike a List or Set, the Dictionary cannot be iterated directly using .each(). Instead, Dictionary.keys provides an iter-able list. So:

$MyDictionary.keys.each(x){
	if($MyDictionary[x] == "Whoops"){
		 ...
	}
}

Therefore do not try: $MyDictionary.each(x)

A dictionary cannot be sorted but as above Dictionary.keys can be sorted. This is the previous example above, but with an added .sort operator inserted after .keys:

$MyDictionary.keys.sort.each(x){
	if($MyDictionary[x] == "Whoops"){
		 ...
	}
}

Note that when iterating a dictionary with .each(X) the loop variable X is the String value of the key.

Depending on your needs you might prefer to pass the dictionary explicitly to a list attribute before doing further work:

$MyList = $MyDictionary.keys; // then work with MyList