JavaScript';使用的s数组过滤器函数没有指定函数-这里发生了什么?

JavaScript';使用的s数组过滤器函数没有指定函数-这里发生了什么?,javascript,arrays,Javascript,Arrays,有人能给我解释一下这些片段吗 Array.filter需要一个函数作为第一个参数: 这是一个Ecmascript 6(javaScript 6)特性。看这里 所以这是一个Ecmascript 6(javaScript 6)特性。看这里 相当于 (function(w){return w == word}) 相当于 (function(w){return w == word}) 要真正理解这一点,你必须把它分解 ECMAScript 2015(Javascript的最新版本,前身为ECMAS

有人能给我解释一下这些片段吗

Array.filter需要一个函数作为第一个参数:

这是一个Ecmascript 6(javaScript 6)特性。看这里 所以这是一个Ecmascript 6(javaScript 6)特性。看这里

相当于

(function(w){return w == word})
相当于

(function(w){return w == word})

要真正理解这一点,你必须把它分解

ECMAScript 2015(Javascript的最新版本,前身为ECMAScript 6)的引入,本质上是匿名函数的语法糖

而不是定义一个像

function(x) { return x*x;}
箭头函数允许您改为写入

(x) => x*x 
其中函数参数在括号中指定,返回的结果紧跟箭头

在这个例子中

words.filter(w => w == word).length / words.length;
可以重写为

words.filter(function(w) {return (w == word);}).length / words.length;

这很容易解释:我们正在发现
单词
数组中有多少部分是由单个目标
单词
组成的

要真正理解这一点,你必须将其分解

ECMAScript 2015(Javascript的最新版本,前身为ECMAScript 6)的引入,本质上是匿名函数的语法糖

而不是定义一个像

function(x) { return x*x;}
箭头函数允许您改为写入

(x) => x*x 
其中函数参数在括号中指定,返回的结果紧跟箭头

在这个例子中

words.filter(w => w == word).length / words.length;
可以重写为

words.filter(function(w) {return (w == word);}).length / words.length;

这很容易解释:我们正在发现
单词
数组中有多少部分是由单个目标
单词
组成的

这是一个新的语法-‘fatarrow function’第一个参数是一个函数,特别是一个来自最新版本Javascript ES6的函数。这个函数返回一个布尔值。它返回
单词出现次数/字符串中单词数量的值
,这是一种新语法-“胖箭头函数”第一个参数是一个函数,特别是来自最新版本Javascript ES6的函数。这个函数返回一个布尔值。它返回
单词出现次数/字符串中单词数量的值