159 lines
6.0 KiB
Markdown
159 lines
6.0 KiB
Markdown
|
<a name="Range"></a>
|
||
|
## Range
|
||
|
* [new Range(start, end, [step])](#new_Range_new)
|
||
|
* _instance_
|
||
|
* [.size()](#Range+size) ⇒ <code>Array.<number></code>
|
||
|
* [.min()](#Range+min) ⇒ <code>number</code> | <code>undefined</code>
|
||
|
* [.max()](#Range+max) ⇒ <code>number</code> | <code>undefined</code>
|
||
|
* [.forEach(callback)](#Range+forEach)
|
||
|
* [.map(callback)](#Range+map) ⇒ <code>Array</code>
|
||
|
* [.toArray()](#Range+toArray) ⇒ <code>Array</code>
|
||
|
* [.valueOf()](#Range+valueOf) ⇒ <code>Array</code>
|
||
|
* [.format([options])](#Range+format) ⇒ <code>string</code>
|
||
|
* [.toString()](#Range+toString) ⇒ <code>string</code>
|
||
|
* [.toJSON()](#Range+toJSON) ⇒ <code>Object</code>
|
||
|
* _static_
|
||
|
* [.parse(str)](#Range.parse) ⇒ <code>[Range](#Range)</code> | <code>null</code>
|
||
|
* [.fromJSON(json)](#Range.fromJSON) ⇒ <code>[Range](#Range)</code>
|
||
|
|
||
|
<a name="new_Range_new"></a>
|
||
|
### new Range(start, end, [step])
|
||
|
Create a range. A range has a start, step, and end, and contains functions
|
||
|
to iterate over the range.
|
||
|
|
||
|
A range can be constructed as:
|
||
|
|
||
|
```js
|
||
|
const range = new Range(start, end)
|
||
|
const range = new Range(start, end, step)
|
||
|
```
|
||
|
|
||
|
To get the result of the range:
|
||
|
|
||
|
```js
|
||
|
range.forEach(function (x) {
|
||
|
console.log(x)
|
||
|
})
|
||
|
range.map(function (x) {
|
||
|
return math.sin(x)
|
||
|
})
|
||
|
range.toArray()
|
||
|
```
|
||
|
|
||
|
Example usage:
|
||
|
|
||
|
```js
|
||
|
const c = new Range(2, 6) // 2:1:5
|
||
|
c.toArray() // [2, 3, 4, 5]
|
||
|
const d = new Range(2, -3, -1) // 2:-1:-2
|
||
|
d.toArray() // [2, 1, 0, -1, -2]
|
||
|
```
|
||
|
|
||
|
| Param | Type | Description |
|
||
|
| --- | --- | --- |
|
||
|
| start | <code>number</code> | included lower bound |
|
||
|
| end | <code>number</code> | excluded upper bound |
|
||
|
| [step] | <code>number</code> | step size, default value is 1 |
|
||
|
|
||
|
<a name="Range+size"></a>
|
||
|
### range.size() ⇒ <code>Array.<number></code>
|
||
|
Retrieve the size of the range.
|
||
|
Returns an array containing one number, the number of elements in the range.
|
||
|
|
||
|
**Kind**: instance method of <code>[Range](#Range)</code>
|
||
|
**Returns**: <code>Array.<number></code> - size
|
||
|
<a name="Range+min"></a>
|
||
|
### range.min() ⇒ <code>number</code> | <code>undefined</code>
|
||
|
Calculate the minimum value in the range
|
||
|
|
||
|
**Kind**: instance method of <code>[Range](#Range)</code>
|
||
|
**Returns**: <code>number</code> | <code>undefined</code> - min
|
||
|
<a name="Range+max"></a>
|
||
|
### range.max() ⇒ <code>number</code> | <code>undefined</code>
|
||
|
Calculate the maximum value in the range
|
||
|
|
||
|
**Kind**: instance method of <code>[Range](#Range)</code>
|
||
|
**Returns**: <code>number</code> | <code>undefined</code> - max
|
||
|
<a name="Range+forEach"></a>
|
||
|
### range.forEach(callback)
|
||
|
Execute a callback function for each value in the range.
|
||
|
|
||
|
**Kind**: instance method of <code>[Range](#Range)</code>
|
||
|
|
||
|
| Param | Type | Description |
|
||
|
| --- | --- | --- |
|
||
|
| callback | <code>function</code> | The callback method is invoked with three parameters: the value of the element, the index of the element, and the Range being traversed. |
|
||
|
|
||
|
<a name="Range+map"></a>
|
||
|
### range.map(callback) ⇒ <code>Array</code>
|
||
|
Execute a callback function for each value in the Range, and return the
|
||
|
results as an array
|
||
|
|
||
|
**Kind**: instance method of <code>[Range](#Range)</code>
|
||
|
**Returns**: <code>Array</code> - array
|
||
|
|
||
|
| Param | Type | Description |
|
||
|
| --- | --- | --- |
|
||
|
| callback | <code>function</code> | The callback method is invoked with three parameters: the value of the element, the index of the element, and the Matrix being traversed. |
|
||
|
|
||
|
<a name="Range+toArray"></a>
|
||
|
### range.toArray() ⇒ <code>Array</code>
|
||
|
Create an Array with a copy of the Ranges data
|
||
|
|
||
|
**Kind**: instance method of <code>[Range](#Range)</code>
|
||
|
**Returns**: <code>Array</code> - array
|
||
|
<a name="Range+valueOf"></a>
|
||
|
### range.valueOf() ⇒ <code>Array</code>
|
||
|
Get the primitive value of the Range, a one dimensional array
|
||
|
|
||
|
**Kind**: instance method of <code>[Range](#Range)</code>
|
||
|
**Returns**: <code>Array</code> - array
|
||
|
<a name="Range+format"></a>
|
||
|
### range.format([options]) ⇒ <code>string</code>
|
||
|
Get a string representation of the range, with optional formatting options.
|
||
|
Output is formatted as 'start:step:end', for example '2:6' or '0:0.2:11'
|
||
|
|
||
|
**Kind**: instance method of <code>[Range](#Range)</code>
|
||
|
**Returns**: <code>string</code> - str
|
||
|
|
||
|
| Param | Type | Description |
|
||
|
| --- | --- | --- |
|
||
|
| [options] | <code>Object</code> | <code>number</code> | <code>function</code> | Formatting options. See lib/utils/number:format for a description of the available options. |
|
||
|
|
||
|
<a name="Range+toString"></a>
|
||
|
### range.toString() ⇒ <code>string</code>
|
||
|
Get a string representation of the range.
|
||
|
|
||
|
**Kind**: instance method of <code>[Range](#Range)</code>
|
||
|
<a name="Range+toJSON"></a>
|
||
|
### range.toJSON() ⇒ <code>Object</code>
|
||
|
Get a JSON representation of the range
|
||
|
|
||
|
**Kind**: instance method of <code>[Range](#Range)</code>
|
||
|
**Returns**: <code>Object</code> - Returns a JSON object structured as:
|
||
|
`{"mathjs": "Range", "start": 2, "end": 4, "step": 1}`
|
||
|
<a name="Range.parse"></a>
|
||
|
### Range.parse(str) ⇒ <code>[Range](#Range)</code> | <code>null</code>
|
||
|
Parse a string into a range,
|
||
|
The string contains the start, optional step, and end, separated by a colon.
|
||
|
If the string does not contain a valid range, null is returned.
|
||
|
For example str='0:2:11'.
|
||
|
|
||
|
**Kind**: static method of <code>[Range](#Range)</code>
|
||
|
**Returns**: <code>[Range](#Range)</code> | <code>null</code> - range
|
||
|
|
||
|
| Param | Type |
|
||
|
| --- | --- |
|
||
|
| str | <code>string</code> |
|
||
|
|
||
|
<a name="Range.fromJSON"></a>
|
||
|
### Range.fromJSON(json) ⇒ <code>[Range](#Range)</code>
|
||
|
Instantiate a Range from a JSON object
|
||
|
|
||
|
**Kind**: static method of <code>[Range](#Range)</code>
|
||
|
|
||
|
| Param | Type | Description |
|
||
|
| --- | --- | --- |
|
||
|
| json | <code>Object</code> | A JSON object structured as: `{"mathjs": "Range", "start": 2, "end": 4, "step": 1}` |
|
||
|
|