arrayWith
Return a new array with the element at the specified index replaced with a provided value.
Usage
var arrayWith = require( '@stdlib/array/base/with' );
arrayWith( x, index, value )
Returns a new array with the element at the specified index replaced with a provided value.
var x = [ 1, 2, 3, 4 ];
var out = arrayWith( x, 0, 5 );
// returns [ 5, 2, 3, 4 ]
out = arrayWith( x, -1, 6 );
// returns [ 1, 2, 3, 6 ]
The function accepts the following arguments:
- x: an input array.
- index: element index.
- value: replacement value.
arrayWith.assign( x, index, value, out, stride, offset )
Copies elements from one array to another array and sets the element at the specified index to a provided value.
var x = [ 1, 2, 3, 4 ];
var out = [ 0, 0, 0, 0 ];
var arr = arrayWith.assign( x, 0, 5, out, 1, 0 );
// returns [ 5, 2, 3, 4 ]
var bool = ( arr === out );
// returns true
The function accepts the following arguments:
- x: an input array.
- index: element index.
- value: replacement value.
- out: output array.
- stride: output array stride.
- offset: output array offset.
Notes
If provided an array-like object having a
with
method, thearrayWith
function defers execution to that method and assumes that the method has the following signature:x.with( index, value )
If provided an array-like object without a
with
method, thearrayWith
function shallow copies input array data to a new generic array, normalizes a provided index, and sets a specified element.Negative indices are resolved relative to the last array element, with the last element corresponding to
-1
.
Examples
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var arrayWith = require( '@stdlib/array/base/with' );
// Define an array:
var opts = {
'dtype': 'generic'
};
var x = discreteUniform( 5, -100, 100, opts );
// Define an array containing random index values:
var indices = discreteUniform( 100, -x.length, x.length-1, opts );
// Define an array with random values to set:
var values = discreteUniform( indices.length, -10000, 10000, opts );
// Randomly set elements in the input array:
var i;
for ( i = 0; i < indices.length; i++ ) {
console.log( 'x = [%s]', arrayWith( x, indices[ i ], values[ i ] ).join( ',' ) );
}