函数 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"]

另请参阅 #

forEach, map, sort

Fork me on GitHub