UNPKG

@stdlib/utils

Version:

Standard utilities.

107 lines (80 loc) 2.82 kB
{{alias}}( arr, fcn[, thisArg] ) Applies a function to each element in an array and assigns the result to an element in a new array, iterating from right to left. The applied function is provided the following arguments: - value: array element. - index: element index. - arr: input array. The returned output array always has a "generic" data type. For example, if provided an array-like object, the function returns a generic array. If provided an ndarray, the function returns an ndarray having a "generic" data type. Parameters ---------- arr: ArrayLikeObject|ndarray Input array. fcn: Function Function to apply. thisArg: any (optional) Input function context. Returns ------- out: Array|ndarray Output array. Examples -------- // array-like object: > var f = {{alias:@stdlib/utils/nary-function}}( {{alias:@stdlib/math/base/special/abs}}, 1 ); > var arr = [ -1, -2, -3, -4, -5, -6 ]; > var out = {{alias}}( arr, f ) [ 1, 2, 3, 4, 5, 6 ] // ndarray: > arr = {{alias:@stdlib/ndarray/array}}( arr, { 'shape': [ 2, 3 ] } ); > out = {{alias}}( arr, f ); > var v = out.get( 1, 1 ) 5 {{alias}}.assign( arr, out, fcn[, thisArg] ) Applies a function to each element in an array and assigns the result to an element in an output array, iterating from right to left. The applied function is provided the following arguments: - value: array element. - index: element index. - arr: input array. Input and output arrays must be either both array-like objects or both ndarray-like objects. If input and output arrays are array-like objects, the arrays must have the same number of elements. If input and output arrays are both ndarray-like objects, the arrays *must* be broadcast compatible. Parameters ---------- arr: ArrayLikeObject|ndarray Input array. out: ArrayLikeObject|ndarray Output array. fcn: Function Function to apply. thisArg: any (optional) Input function context. Returns ------- out: Array|ndarray Output array. Examples -------- // array-like object: > var f = {{alias:@stdlib/utils/nary-function}}( {{alias:@stdlib/math/base/special/abs}}, 1 ); > var arr = [ -1, -2, -3, -4, -5, -6 ]; > var out = [ 0, 0, 0, 0, 0, 0 ]; > {{alias}}.assign( arr, out, f ); > out [ 1, 2, 3, 4, 5, 6 ] // ndarray: > var opts = { 'shape': [ 2, 3 ] }; > arr = {{alias:@stdlib/ndarray/array}}( arr, opts ); > out = {{alias:@stdlib/ndarray/array}}( [ 0, 0, 0, 0, 0, 0 ], opts ); > {{alias}}.assign( arr, out, f ); > var v = out.get( 1, 1 ) 5 See Also --------