# Array Shape > Determine (nested) array dimensions.
## Usage ```javascript var arrayShape = require( '@stdlib/array/shape' ); ``` #### arrayShape( arr ) Returns array dimensions. ```javascript var arr = [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]; var shape = arrayShape( arr ); // returns [ 3, 3 ] ``` The function **ignores** inconsistent dimensions. ```javascript var arr = [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8 ] ]; var shape = arrayShape( arr ); // returns [ 3 ] ```
## Examples ```javascript var arrayShape = require( '@stdlib/array/shape' ); var shape; var arr; arr = [ 1, 2, 3 ]; shape = arrayShape( arr ); // returns [ 3 ] arr = [ [ 1 ], [ 2 ], [ 3 ] ]; shape = arrayShape( arr ); // returns [ 3, 1 ] arr = [ [], [], [] ]; shape = arrayShape( arr ); // returns [ 3, 0 ] arr = [ [ 1, 2, 3 ] ]; shape = arrayShape( arr ); // returns [ 1, 3 ] arr = [ [ [ 1 ] ], [ [ 2 ] ], [ [ 3 ] ] ]; shape = arrayShape( arr ); // returns [ 3, 1, 1 ] arr = [ [ [ [ 1, 2, 3 ] ] ] ]; shape = arrayShape( arr ); // returns [ 1, 1, 1, 3 ] arr = [ [ 1, 2 ], [ 3, 4 ] ]; shape = arrayShape( arr ); // returns [ 2, 2 ] arr = [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]; shape = arrayShape( arr ); // returns [ 3, 3 ] arr = [ [ 1, 2, 3 ], null, [ 7, 8, 9 ] ]; shape = arrayShape( arr ); // returns [ 3 ] arr = [ [ 1, 2, 3 ], [ [ 4, 5, 6 ] ], [ [ 7, 8, 9 ] ] ]; shape = arrayShape( arr ); // returns [ 3 ] arr = [ [ [ 1, 2, 3 ] ], [ 4, 5, 6 ], [ [ 7, 8, 9 ] ] ]; shape = arrayShape( arr ); // returns [ 3 ] arr = [ [ [ 1, 2, 3 ] ], [ [ 4, 5, 6 ] ], [ 7, 8, 9 ] ]; shape = arrayShape( arr ); // returns [ 3 ] arr = [ [ [ [ 1, 2, 3 ] ] ], [ [ 4, 5, 6 ] ], [ [ [ 7, 8, 9 ] ] ] ]; shape = arrayShape( arr ); // returns [ 3, 1 ] ```