toArray: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|seealso= *\[\[([^ ]+)\]\], \[\[([^ ]+)\]\]" to "|seealso= $1 $2")
m (Text replacement - "(\|[pr][0-9]+ *= *[^- ]*) *- *S([a-z ])" to "$1 - s$2")
 
(14 intermediate revisions by the same user not shown)
Line 20: Line 20:
|gr3= Strings
|gr3= Strings


|descr= Converts the supplied [[String]] into an [[Array]] of [[Number|Numbers]]. The numbers in the created array are the decimal {{Wikipedia|Unicode|Unicode}} representations of characters.
|descr= Converts the supplied [[String]] into an [[Array]] of [[Number]]s. The numbers in the created array are the decimal {{Link|https://en.wikipedia.org/wiki/Unicode|Unicode}} representations of characters.
{{Feature|arma3|Since v2.04 this command can also handle [[HashMap]]s. See alternative syntax.}}
{{Feature|arma3|Since v2.04 this command can also handle [[HashMap]]s. See alternative syntax.}}


Line 35: Line 35:
|p21= hashMap: [[HashMap]]
|p21= hashMap: [[HashMap]]


|r2= [[Array]] - Array in format <nowiki>[</nowiki>[key, key, ...], [value, value, ...]]
|r2= [[Array]] - array in format <nowiki>[</nowiki>[key, key, ...], [value, value, ...]]


|s3= hashMap [[toArray]] splitArrays
|s3= hashMap [[toArray]] splitArrays
Line 43: Line 43:
|p41= hashMap: [[HashMap]]
|p41= hashMap: [[HashMap]]


|p42= splitArrays: [[Boolean]] - See return value
|p42= splitArrays: [[Boolean]] - see return value


|r3= [[Array]] - Array in either one of the following formats:
|r3= [[Array]] - array in either one of the following formats:
* splitArrays: [[true]] - {{ic|<nowiki>[</nowiki>[key1, key2, ...], [value1, value2, ...]]}}
* splitArrays: [[true]] - {{hl|[<nowiki/>[key1, key2, ...], [value1, value2, ...]]}}
* splitArrays: [[false]] - {{ic|<nowiki>[</nowiki>[key1, value1], [key2, value2], ...]}} This is '''very inefficient''' since the engine has to create many small arrays
* splitArrays: [[false]] - {{hl|[<nowiki/>[key1, value1], [key2, value2], ...]}} This is '''very inefficient''' since the engine has to create many small arrays


|x1= <code>[[hint]] [[format]] ["%1", [[toArray]] "AaŒ"];{{cc|Returns "[65,97,338]"}}</code>
|x1= <sqf>hint format ["%1", toArray "AaŒ"];// Returns "[65,97,338]"</sqf>


|x2= <code>[[toArray]] _hashMap [[params]] ["_keys", "_values"];</code>
|x2= <sqf>toArray _hashMap params ["_keys", "_values"];</sqf>


|seealso= [[set]] [[resize]] [[reverse]] [[select]] [[in]] [[find]] [[toString]] [[count]] [[deleteAt]] [[splitString]] [[joinString]], [[toUpperANSI]], [http://www.utf8-chartable.de/ Unicode Character Table]
|x3= <sqf>
private _hashmap = ["cow", "cat", "chicken"] createHashMapFromArray [10000, 20000, 20000];
_hashmap toArray true; // returns [["cow", "cat", "chicken"], [10000, 20000, 20000]] - same as Syntax 2
_hashmap toArray false; // returns [["cow", 10000], ["cat", 20000], ["chicken", 20000]]
</sqf>
 
|seealso= [[set]] [[resize]] [[reverse]] [[select]] [[in]] [[find]] [[toString]] [[count]] [[deleteAt]] [[splitString]] [[joinString]] [[toUpperANSI]], {{Link|http://www.utf8-chartable.de/|Unicode Character Table}}
}}
}}

Latest revision as of 15:49, 8 November 2023

Hover & click on the images for description

Description

Description:
Converts the supplied String into an Array of Numbers. The numbers in the created array are the decimal Unicode representations of characters.
Arma 3
Since v2.04 this command can also handle HashMaps. See alternative syntax.
Groups:
ArraysHashMapStrings

Syntax 1

Syntax:
toArray string
Parameters:
string: String
Return Value:
Array

Syntax 2

Syntax:
toArray hashMap
Parameters:
hashMap: HashMap
Return Value:
Array - array in format [[key, key, ...], [value, value, ...]]

Syntax 3

Syntax:
hashMap toArray splitArrays
Parameters:
hashMap: HashMap
splitArrays: Boolean - see return value
Return Value:
Array - array in either one of the following formats:
  • splitArrays: true - [[key1, key2, ...], [value1, value2, ...]]
  • splitArrays: false - [[key1, value1], [key2, value2], ...] This is very inefficient since the engine has to create many small arrays

Examples

Example 1:
hint format ["%1", toArray "AaŒ"];// Returns "[65,97,338]"
Example 2:
toArray _hashMap params ["_keys", "_values"];
Example 3:
private _hashmap = ["cow", "cat", "chicken"] createHashMapFromArray [10000, 20000, 20000]; _hashmap toArray true; // returns [["cow", "cat", "chicken"], [10000, 20000, 20000]] - same as Syntax 2 _hashmap toArray false; // returns [["cow", 10000], ["cat", 20000], ["chicken", 20000]]

Additional Information

See also:
set resize reverse select in find toString count deleteAt splitString joinString toUpperANSIUnicode Character Table

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note