Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


This routine is available starting with SIL Engine™ 4.8.0.11.
Info
titleAvailability
Table plus
applyColStyleToCelltrue
heading0
columnTypess,s,s,s
multiplefalse
columnAttributesstyle="background:#e5e7ea;font-weight:bold,,style="background:#e5e7ea;font-weight:bold,
enableSortingfalse

Syntax

arrayStructMap(structArray, field)

...

Package

array

Alias

...

Pkg Usage

structMap(

...

structArray, field)

Description

Excerpt
hiddentrue
Returns an indexed array of structs mapped to a given field name.

Returns an indexed array of structs mapped to a given field name.

Parameters

Table plus
applyColStyleToCelltrue
columnTypess,s,s,s
heading0
multiplefalse
enableSortingfalse

Parameter name

Type

Required

Description

Struct Array

Array of Structs

Yes

An array of structs to be indexed.

Field

String

Yes

Name of the field to use as the indexer.

Return

...

Type

Struct String []

Returns an array of indexed structs.

...

Examples

Example Part 1 - Data for structs

Assume we have a CSV file containing a list of toys. There is a column for the toy name and another for the toys color.

Code Block
name, color
Airplane, White
Bouncy Ball, Blue
Car, Red
Dog, Brown
Elephant, Gray
...

Example Part 2 - Populating structs

With the given CSV data we can quickly populate an array of structs.

Code Block
//define struct
struct _toy {
 	   string name;
    	 string color;
}

//create struct array and populate from csv
_toy [] toys = readFromCSVFile("toysList.csv", true);

Example Part 3 - Mapping the struct array

Now that we have a list of structs we can map them to one of the fields.

Code Block
toysstring [] attachmentsCreatedToday;

for(string a in attachments) {
    string [] file = arrayStructMapfileInfo(getAttachmentPath(toyskey, "name"a));
//mapping each array element todate thecreated name field

return toys["Bouncy Ball"].color; //element can be retrieved by name now that is has been mapped= parseDate("yyyy-MM-dd hh:mm:ss", file["created"]);

    if(created > startOfDay(currentDate())) {
        attachmentsCreatedToday += a;
    }
}

return attachmentsCreatedToday;

Result: "Blue"

See also

Filter by label (Content by label)
showLabelsfalse
max25
showSpacefalse
cqllabel = "jiraarray_group_routine"routines" and space = currentSpace ( )
labelsjiraarray_group_routineroutines