Array Manipulation
Introduction to Array Manipulation
Arrays/Sets/Matrices are fundamental data structures in z^3. Manipulation of such data structures are often done using custom code in most languages. However, z^3 offers a ton of Array member functions that make it a breeze to handle and manipulate such data structures.
For example, take .chunks().
a=1..100;
This creates a list of 100 numbers. Now, let us make them into chunks of 10 each.
a.chunks(10)
gives
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
| 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |
| 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 |
| 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 |
| 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
| 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |
| 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 |
Simple, isn't it?
The result gives a 10x10 matrix filled with the sequence of numbers from 1 to 100.
Let us say we want to calculate the sum of each row in this 10x10 matrix. The $$ row wise mapping function comes to the rescue.
b=a.chunks(10) b.$$(SUM)
| 55 |
| 155 |
| 255 |
| 355 |
| 455 |
| 555 |
| 655 |
| 755 |
| 855 |
| 955 |
ARRAY FUNCTIONS
A listing of the Array functions are given below:
Function name Parameter
| Function Name | Parameters |
|---|---|
| $ | |
| $$ | |
| $$$ | |
| $$F | |
| $A | Parameter |
| $C | |
| $CELLS | |
| $R | |
| $X | |
| $_ | |
| $d | |
| $diag | |
| $dth | |
| $x | |
| X$ | |
| ZJSON | |
| __$ | |
| ac | |
| accumulate | Total |
| accumulatewith | CumulateFunction,CurrentResult |
| across | OtherArray, Function |
| add | Thing |
| addcolumn | NumberOfColumns |
| addrow | NumberOfRows |
| addsequence | InFront,StartFrom,OptionalSequenceArray |
| adjoint | Array |
| aggregate | Columns,Function, Params |
| any | Count |
| appendfunction | Function |
| ar | |
| async | Iterator, CallBack |
| atindex | |
| atnode | Function,SubtractByArray,ScaleByArray,DoNotShowIndices |
| backward | Function, StartValue |
| bindcolumn | |
| branch | |
| branchvalues | |
| c | |
| calci | |
| car | |
| cartesianproduct | IsWithoutFlatten |
| cdr | |
| cell | Row, Column, Width, Height |
| cells | |
| checktype | TypeArray,ForceCheckOnVariables |
| chunks | ChunkSize |
| ci | |
| clean | Expression, ReplaceWith |
| clear | FillWith |
| clearcopy | FillWith |
| clearrepeats | |
| clone | |
| colconcat | |
| colcount | |
| collect | |
| collectasvector | |
| collectwhile | |
| collectwhileasvector | |
| column | |
| columnconcat | |
| columns | |
| compare | |
| concatall | LimitArray, IncludeEdges |
| converge | Function, NumberOfIterations, Accuracy, Converge |
| copy | |
| core | |
| count | FirstLevelOnly |
| crosstab | RowSet, ColSet,PageSet,DataSet |
| cube | |
| cumcolumn | |
| cumcolumns | |
| cumcolumnswith | |
| cumcolumnwith | |
| cumrow | |
| cumrows | |
| cumrowswith | |
| cumrowwith | |
| cumulate | |
| data | |
| dc | |
| deal | Within, ManyInEach |
| deepcopy | |
| deletecolumn | Where |
| deleterow | Where |
| det | Array |
| determinant | |
| dim | |
| div | |
| divide | |
| dr | |
| drop | |
| dropwhile | |
| dropwhileasvector | |
| eighteenth | |
| eighth | |
| eleventh | |
| equal | Array, CheckLength, StartFrom |
| equalvalues | Array, CheckLength, StartFrom |
| eval | |
| except | |
| exec | |
| explode | StartIndex, By, RecurseTillLevel |
| extract | |
| few | |
| fifteenth | Function |
| fifth | |
| fillwith | |
| filtermatches | MatchIdenticalMatrix, OnlyMatches |
| filteroncolumn | Condition, ExtractColumns, FilterOnColumn |
| filteroncondition | TakeDropOrAllFlag, Function, Parameter |
| filteronrow | Condition, ExtractColumns, FilterOnColumn |
| findcellref | Values |
| first | Count |
| firstelement | Count |
| firsthalf | |
| fixat | Index,Fix |
| fjoin | HeadLength, JoinString |
| flatten | |
| flip | |
| flipparts | |
| fold | AtFoldValue, AtReverseFoldValue |
| foldl | Function, StartSeed |
| foldr | Function, StartSeed |
| forward | Function, StartValue |
| fourteenth | |
| fourth | |
| fourths | |
| funcjoin | HeadLength, FindString, FirstString, MidString, LastString |
| gettype | |
| graph | Mode |
| graphin | |
| half | |
| halves | |
| hderef | Array |
| head | |
| headings | |
| hindex | |
| hundredth | |
| i | PreviousArray |
| ic | |
| ids | |
| implode | RecurseTillLevel |
| inc | |
| include | |
| indices | Function,SubtractByArray,ScaleByArray,DoNotShowIndices,RowArray |
| injoin | JoinWith |
| insert | Value, AfterLastFlag |
| insertcolumn | Index, NumberOfColumns |
| insertrow | Index, NumberOfRows |
| inverse | Array |
| ir | |
| is | Thing, IsNot |
| is1d | |
| is2d | |
| isFalse | |
| isTrue | |
| islikelytype | |
| isnotnull | |
| isnull | |
| istype | |
| j | |
| joincolumnswith | ArrayOfJoinCharacters,IsRepeat |
| joinrowswith | ArrayOfJoinCharacters,IsRepeat |
| joinwith | |
| jq | |
| keep | |
| last | Count |
| lastelement | Count |
| list | |
| lookup | |
| make | |
| make1to2d | ReplaceOriginal |
| makecore | |
| makekeyarray | Recursive |
| maplist | fun |
| mapper | Function |
| maprow | Function |
| mask | |
| match | Expression |
| matchcolumn | Expression, Column |
| matchindex | Expression, IndexThenFromMatch |
| matchrow | Expression, Row |
| matchvalue | Expression, IndexThenFromMatch |
| merge | OtherArray, Function |
| mergecolumns | OtherArray |
| mergeio | |
| mergerows | |
| mid | From,Count |
| millionth | |
| multiply | |
| nicejoin | JoinString, EndString, SubArrayString |
| nineteenth | |
| nineth | |
| nodeindex | |
| notinclude | Item |
| notwithinlimits | LimitArray, IncludeEdges |
| nth | Nth, Count |
| ntimes | Function, NumberOfIterations, Accuracy, Converge |
| nullifyobjects | Recursive |
| numbers | ForceCheckOnVariables |
| o | |
| objects | |
| of | |
| otherthan | ArrayWithElementsToExclude |
| pack | |
| pad | Length, PadString |
| pair | Value, OnRight |
| pairmatch | AtFoldValue, AtReverseFoldValue, StartFrom |
| partitiononcondition | TakeDropOrAllFlag, Function, Parameter |
| parts | NumberOfParts, SpecificPart |
| pastefolds | MidOnly |
| pick | StyleString, JoinString |
| pieces | Width, Function |
| pip | |
| pipall | |
| pipallwithslice | |
| plot | |
| prefix | |
| primitives | |
| printf | |
| r | |
| rand | |
| random | Base,Numbers |
| remove | |
| removeByVal | Value |
| removeindices | |
| removewith | |
| repeatntimes | Function, NumberOfIterations, Accuracy, Converge |
| replace | ExpressionArrayOrValues, ReplaceWith |
| replicate | Count |
| rest | Start, Count |
| result | |
| reverselevel | Level |
| reversepip | |
| reversesort | Function |
| ri | |
| rotate | NumberOfSteps |
| rotatecolumns | NumberOfSteps |
| rotaterows | NumberOfSteps |
| row | |
| rowconcat | OtherArray |
| rowcount | |
| rowlengths | Function |
| rowpush | OtherArray |
| rows | |
| rslice | |
| second | |
| secondhalf | |
| seq | StartIndex, By |
| set | |
| setHeadings | |
| setaxis | Axis, ColumnValues |
| setcolumn | |
| setrow | |
| setunit | |
| seventeenth | |
| seventh | |
| shiftlevel | |
| shuffle | |
| sixteenth | |
| sixth | |
| size | |
| size2d | |
| slices | |
| slides | |
| sortrecursively | |
| sortwith | |
| specialprint | |
| spliteach | |
| splitwhile | |
| splitwhileasvector | |
| stringlist | |
| subtract | |
| suchthat | |
| suchthatasvector | |
| suffix | |
| t | |
| table | |
| tablelookup | |
| tail | |
| takewhile | |
| takewhileasvector | |
| tenth | |
| third | |
| thirds | |
| thirteenth | |
| thousandth | |
| tofunctions | |
| toobjectformat | |
| totree | |
| transpose | |
| truefalse | |
| twelfth | |
| twentieth | |
| twod | |
| type | |
| uncrosstab | |
| unimplode | |
| unimplodeleaf | |
| unitsof | |
| unwrapleaf | |
| unzip | |
| value | |
| where | |
| withinlimits | |
| withouttail | |
| x$ | |
| xy | |
| xypanel | |
| z3 | |
| zero | |
| zip | |
| zoompip | |
| 㪭㭲 |