Skip to content

IsArray ​

Tests whether t is a List with a uniform (non-ragged) shape at every depth, any rank, optionally with every leaf satisfying test.

✓ checked against that system · ! checked, with disagreements (hover a chip)Wolfram LanguageArrayQ✓
IsArray(t)True if t is a List whose nesting is rectangular at every level (a "full array")
IsArray(t, test)as above, and test holds of every leaf
Typed signatures
TypePackageApplies
(any, function?) -> booleancombinatoricsalways

Domain: Collections

Details
  • Generalizes IsVector (rank 1) and IsMatrix (rank 2) to any rank, including a flat List (rank 1) and a ragged List (False, same as the other two).
  • A non-List is False — a bare scalar isn't an array of rank 0 here.

Examples

Basic #
live ↗
InIsArray([[1,2],[3,4]])\mathrm{IsArray}(\bigl\lbrack\bigl\lbrack1, 2\bigr\rbrack, \bigl\lbrack3, 4\bigr\rbrack\bigr\rbrack)OutTrue\mathrm{True}

A flat list is a rank-1 array

live ↗
InIsArray([1,2,3,4])\mathrm{IsArray}(\bigl\lbrack1, 2, 3, 4\bigr\rbrack)OutTrue\mathrm{True}

A ragged list with a nested element is not a full array

live ↗
InIsArray([1,2,[3],4])\mathrm{IsArray}(\bigl\lbrack1, 2, \bigl\lbrack3\bigr\rbrack, 4\bigr\rbrack)OutFalse\mathrm{False}
Scope #
live ↗
InIsArray([[1,2],[3]])\mathrm{IsArray}(\bigl\lbrack\bigl\lbrack1, 2\bigr\rbrack, \bigl\lbrack3\bigr\rbrack\bigr\rbrack)OutFalse\mathrm{False}
live ↗
InIsArray([1,2,3])\mathrm{IsArray}(\bigl\lbrack1, 2, 3\bigr\rbrack)OutTrue\mathrm{True}
live ↗
InIsArray(3)\mathrm{IsArray}(3)OutFalse\mathrm{False}
live ↗
InIsArray([[2,4],[6,8]],IsEven)\mathrm{IsArray}(\bigl\lbrack\bigl\lbrack2, 4\bigr\rbrack, \bigl\lbrack6, 8\bigr\rbrack\bigr\rbrack, \mathrm{IsEven})OutTrue\mathrm{True}
Properties #

Undefined symbols are not known to be arrays

live ↗
In[IsArray(mat),IsArray(expr)]\bigl\lbrack\mathrm{IsArray}(\mathrm{mat}), \mathrm{IsArray}(\mathrm{expr})\bigr\rbrackOut[False,False]\bigl\lbrack\mathrm{False}, \mathrm{False}\bigr\rbrack
About
Examples8
Checked againstWolfram Language 8 agree
CrosswalkWolfram Language

See also: IsVector, IsMatrix