About stdlib...
We believe in a future in which the web is a preferred environment for numerical computation. To help realize this future, we've built stdlib. stdlib is a standard library, with an emphasis on numerical and scientific computation, written in JavaScript (and C) for execution in browsers and in Node.js.
The library is fully decomposable, being architected in such a way that you can swap out and mix and match APIs and functionality to cater to your exact preferences and use cases.
When you use stdlib, you can be absolutely certain that you are using the most thorough, rigorous, well-written, studied, documented, tested, measured, and high-quality code out there.
To join us in bringing numerical computing to the web, get started by checking us out on GitHub, and please consider financially supporting stdlib. We greatly appreciate your continued support!
Boolean array.
To use in Observable,
BooleanArray = require( 'https://cdn.jsdelivr.net/gh/stdlib-js/array-bool@umd/browser.js' )
To vendor stdlib functionality and avoid installing dependency trees for Node.js, you can use the UMD server build:
var BooleanArray = require( 'path/to/vendor/umd/array-bool/index.js' )
To include the bundle in a webpage,
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/stdlib-js/array-bool@umd/browser.js"></script>
If no recognized module system is present, access bundle contents via the global scope:
<script type="text/javascript">
(function () {
window.BooleanArray;
})();
</script>
Creates a boolean array.
var arr = new BooleanArray();
// returns <BooleanArray>
Creates a boolean array having a specified length
.
var arr = new BooleanArray( 10 );
// returns <BooleanArray>
var len = arr.length;
// returns 10
Creates a boolean array from another boolean array.
var arr1 = new BooleanArray( [ true, false, false, true ] );
// returns <BooleanArray>
var arr2 = new BooleanArray( arr1 );
// returns <BooleanArray>
var len = arr2.length;
// returns 4
Creates a boolean array from a typed array.
var Uint8Array = require( '@stdlib/array-uint8' );
var buf = new Uint8Array( [ 1, 0, 0, 1 ] );
// returns <Uint8Array>[ 1, 0, 0, 1 ]
var arr = new BooleanArray( buf );
// returns <BooleanArray>
var len = arr.length;
// returns 4
Creates a boolean array from an array-like object or iterable.
// From an array of booleans:
var arr1 = new BooleanArray( [ true, false, false, true ] );
// returns <BooleanArray>
var len = arr1.length;
// returns 4
// From an array containing non-booleans:
var arr2 = new BooleanArray( [ {}, null, '', 4 ] );
len = arr2.length;
// returns 4
Returns a boolean array view of an ArrayBuffer
.
var ArrayBuffer = require( '@stdlib/array-buffer' );
var buf = new ArrayBuffer( 240 );
var arr1 = new BooleanArray( buf );
// returns <BooleanArray>
var len = arr1.length;
// returns 240
var arr2 = new BooleanArray( buf, 8 );
// returns <BooleanArray>
len = arr2.length;
// returns 232
var arr3 = new BooleanArray( buf, 8, 20 );
// returns <BooleanArray>
len = arr3.length;
// returns 20
Static property returning the size (in bytes) of each array element.
var nbytes = BooleanArray.BYTES_PER_ELEMENT;
// returns 1
Static property returning the constructor name.
var str = BooleanArray.name;
// returns 'BooleanArray'
Pointer to the underlying data buffer.
var arr = new BooleanArray( 2 );
// returns <BooleanArray>
var buf = arr.buffer;
// returns <ArrayBuffer>
Size (in bytes) of the array.
var arr = new BooleanArray( 10 );
// returns <BooleanArray>
var nbytes = arr.byteLength;
// returns 10
Offset (in bytes) of the array from the start of its underlying ArrayBuffer
.
var ArrayBuffer = require( '@stdlib/array-buffer' );
var arr = new BooleanArray( 10 );
// returns <BooleanArray>
var offset = arr.byteOffset;
// returns 0
var buf = new ArrayBuffer( 240 );
arr = new BooleanArray( buf, 64 );
// returns <BooleanArray>
offset = arr.byteOffset;
// returns 64
Size (in bytes) of each array element.
var arr = new BooleanArray( 10 );
// returns <BooleanArray>
var nbytes = arr.BYTES_PER_ELEMENT;
// returns 1
Number of array elements.
var arr = new BooleanArray( 10 );
// returns <BooleanArray>
var len = arr.length;
// returns 10
Creates a new boolean array from an array-like object or an iterable.
var arr = BooleanArray.from( [ true, false ] );
// returns <BooleanArray>
var len = arr.length;
// returns 2
To invoke a function for each src
value, provide a callback function.
function map( v ) {
return !v;
}
// Create a source array:
var src = [ true, false ];
// Create a new boolean array by inverting the source array:
var arr = BooleanArray.from( src, map );
// returns <BooleanArray>
var len = arr.length;
// returns 2
var v = arr.get( 0 );
// returns false
v = arr.get( 1 );
// returns true
A callback function is provided two arguments:
- value: source value.
- index: source index.
To set the callback execution context, provide a thisArg
.
function map( v ) {
this.count += 1;
return !v;
}
// Create a source array:
var src = [ true, false ];
// Define an execution context:
var ctx = {
'count': 0
};
// Create a new boolean array by inverting the source array:
var arr = BooleanArray.from( src, map, ctx );
// returns <BooleanArray>
var len = arr.length;
// returns 2
var n = ctx.count;
// returns 2
Creates a new boolean array from a variable number of arguments.
var arr = BooleanArray.of( true, false, false, true );
// returns <BooleanArray>
var len = arr.length;
// returns 4
Returns an array element located at integer position (index) i
, with support for both nonnegative and negative integer positions.
var arr = new BooleanArray( 3 );
arr.set( true, 0 );
arr.set( false, 1 );
arr.set( true, 2 );
var v = arr.at( 0 );
// returns true
v = arr.at( -1 );
// returns true
If provided an out-of-bounds index, the method returns undefined
.
var arr = new BooleanArray( 10 );
var v = arr.at( 100 );
// returns undefined
v = arr.at( -100 );
// returns undefined