如何编写一个接受谓词和数组的程序,如 Array.filter(),但仅在 JavaScript 中 pred(x) === false 时保留 x?
JavaScript 中的谓词与返回true或false的谓词maths 相同。
谓词就像一个函数,用于确定传递的参数是否满足给定条件。谓词仅返回true或false 。
在这篇文章中,让我们看看使用 JavaScript 中的函数传递谓词时数组的工作原理。
句法:
function predicate(argument)
{
if(condition_satisfied)
return true;
else
return false;
}
function using_predicate(array, predicate)
{
for(elements in array )
{
if (predicate is satisfied)
{
code for satisfied condition;
}
else
{
code for else condition;
}
}
}
示例 1:以下函数接受一个数组和谓词,并返回满足pred(x)===false的结果数组。在此函数中,谓词返回true,如果数组元素是偶数,则返回false 。输出应该是奇数。
Javascript
Javascript
Javascript
输出:
The resultant array is 1,3,5,7
使用带有 filter() 方法的谓词:
句法:
function predicate(argument)
{
if(condition_satisfied)
return true;
else
return false;
}
array.filter(predicate);
示例 2:
Javascript
输出:
The resultant array is 1,3,5,7
示例 3:以下函数使用谓词通过将参数作为数组和谓词传递给函数来计算数组中 8 的频率。
Javascript
输出:
The frequency of 8 is 3