Javascript过滤器等式解释

时间:2017-10-25 06:08:09

标签: javascript arrays ecmascript-6

我正在努力更好地掌握ES6功能和过滤数组。我在下面看到了这段代码,我很茫然。第一个=>如果我没弄错的话,启动ES6功能。因此,如果d小于或等于t,则函数返回s-a的长度,如果d小于或等于t-a。正确?

array.filter(d => s - a <= d && d <= t - a).length)

1 个答案:

答案 0 :(得分:1)

传递给filter的函数是传递所有项目的条件。如果条件为项返回true,则会推送filter数组的结果。在它之后你试图获得返回数组的长度。在您的示例中,每个项目都通过条件s - a <= d && d <= t - a,如果条件返回true,则项目将被推送到结果中。检查完所有项目后,您将获得通过length属性访问的返回数组的长度。

另一个例子

这里我根据条件过滤数组 - 如果项目超过5 - 推入结果,否则跳过它。毕竟我得到filteredArray的长度(结果数组中有多少项 - 已通过条件)。

&#13;
&#13;
const numbers = [1,2,3,4,5,6,7,8,9];
const filteredArray = numbers.filter(eachNumber => eachNumber > 5);

console.log(filteredArray.length);
&#13;
&#13;
&#13;