title: Warning Unexpected unnamed function func-names under, ESLint rule
body: <p>My <code>eslint</code> version is 4.18.2, it would give a warning like this:</p>
  
  <blockquote>
    <p>Unexpected unnamed function<br>
     Expected an assignment or function call and instead saw an expression</p>
  </blockquote>
  
  <p>When defining functions in such a way:</p>
  
  <pre><code> const farmerIds = a.reduce((function (hash) {
    return function (prev, curr) {
      !hash[curr.farmerId] &amp;&amp; (hash[curr.farmerId] = prev.push(curr));
      return prev;
    };
  }(Object.create(null))), []);
  </code></pre>