我正在努力更好地掌握ES6功能和过滤数组。我在下面看到了这段代码,我很茫然。第一个=>如果我没弄错的话,启动ES6功能。因此,如果d小于或等于t,则函数返回s-a的长度,如果d小于或等于t-a。正确?
array.filter(d => s - a <= d && d <= t - a).length)
答案 0 :(得分:1)
传递给filter
的函数是传递所有项目的条件。如果条件为项返回true
,则会推送filter
数组的结果。在它之后你试图获得返回数组的长度。在您的示例中,每个项目都通过条件s - a <= d && d <= t - a
,如果条件返回true
,则项目将被推送到结果中。检查完所有项目后,您将获得通过length
属性访问的返回数组的长度。
另一个例子
这里我根据条件过滤数组 - 如果项目超过5
- 推入结果,否则跳过它。毕竟我得到filteredArray
的长度(结果数组中有多少项 - 已通过条件)。
const numbers = [1,2,3,4,5,6,7,8,9];
const filteredArray = numbers.filter(eachNumber => eachNumber > 5);
console.log(filteredArray.length);
&#13;