函数 filter #
过滤数组或一维矩阵中的元素。
回调函数会接收三个参数:当前值、当前索引以及被操作的矩阵。请注意,由于矩阵/数组可能是多维的,“索引”参数始终是一个数字数组,表示每个维度的索引。即使是向量,“索引”参数也是一个长度为 1 的数组,而不是一个简单的数字。
Syntax #
math.filter(x, test)
Parameters #
| Parameter | Type | Description |
|---|---|---|
x |
矩阵 | 数组 | 需要过滤的一维矩阵或数组 |
test |
函数 | RegExp | 用于测试元素的函数或正则表达式。所有 test 返回 true 的条目都将被返回。当 test 是一个函数时,它将接收三个参数:元素的值、元素的索引以及正在遍历的矩阵/数组。函数必须返回一个布尔值。 |
Returns #
| Type | Description |
|---|---|
| 矩阵 | 数组 | 返回过滤后的矩阵。 |
Throws #
Type | Description —- | ———–
Examples #
function isPositive (x) {
return x > 0
}
math.filter([6, -2, -1, 4, 3], isPositive) // returns [6, 4, 3]
math.filter(["23", "foo", "100", "55", "bar"], /[0-9]+/) // returns ["23", "100", "55"]