
{{alias}}( x[, options], predicate[, thisArg] )
    Returns a shallow copy of an ndarray containing only those elements which
    pass a test implemented by a predicate function.

    The predicate function is provided the following arguments:

    - value: current array element.
    - indices: current array element indices.
    - arr: the input ndarray.

    Parameters
    ----------
    x: ndarray
        Input ndarray.

    options: Object (optional)
        Function options.

    options.dtype: string (optional)
        Output ndarray data type. Overrides using the input array's inferred
        data type.

    options.order: string (optional)
        Index iteration order. By default, the function iterates over elements
        according to the layout order of the provided array. Accordingly, for
        row-major input arrays, the last dimension indices increment fastest.
        For column-major input arrays, the first dimension indices increment
        fastest. To override the inferred order and ensure that indices
        increment in a specific manner, regardless of the input array's layout
        order, explicitly set the iteration order. Note, however, that iterating
        according to an order which does not match that of the input array may,
        in some circumstances, result in performance degradation due to cache
        misses. Must be either 'row-major' or 'column-major'.

    predicate: Function
        Predicate function.

    thisArg: any (optional)
        Predicate function execution context.

    Examples
    --------
    > var x = {{alias:@stdlib/ndarray/array}}( [ [ 1.0, 2.0 ], [ 3.0, 4.0 ] ] );
    > function f( v ) { return v > 2.0; };
    > var y = {{alias}}( x, f )
    <ndarray>[ 3.0, 4.0 ]

    See Also
    --------
