此函数返回一个新的数组,该数组是给定数组(或其范围)的筛选版本。
您提供了一个对数组中的所有元素运行的判断方法。它应根据条件返回 true 或 false。
判断函数为其返回 true 的元素包括在返回的数组中,而获得 false 的元素将被忽略。
默认情况下,该函数检查整个数组。您可以选择提供偏移量和长度参数来检查数组的一部分,向前或向后遍历数组。
注意 参见 array_copy_while,该方法类似,但在判断函数的第一个 false 返回后停止执行。
function passed_the_test(element, index)
{
return element >= 50;
}
scores = [0, 15, 4, 78, 96, 65, 49];
passed = array_filter(scores, passed_the_test);
上面的代码首先定义了一个函数 passed_the_test,该函数接受 element 和 index 参数,这对于数组判断函数来说是很常见的。
如果 element 的值大于或等于 50,则函数返回 true,否则返回 false。
然后,它创建一个具有介于 0 和 100 之间的各种值的数组 score。最后,它对该数组调用 array_filter,并将新数组存储在 passed 的变量中。
passed 数组将只包含 scores 数组中大于或等于 50 的值,满足判断函数中设置的条件。