首页  >  问答  >  正文

如何通过函数链式调用简化这段 JavaScript 代码?

<p>我想知道如何通过链式调用来简化这些函数调用。是否有一种方法可以将forEach、push、解构数组和map链接在一起使用。</p> <pre class="brush:php;toolbar:false;">let selectorsForLoader = ['a', 'b']; let loadingElements = []; selectorsForLoader.forEach(selector => { loadingElements.push(...Array.from(document.querySelectorAll(selector))); }); let loaders = loadingElements.map(loadingElement => { loadingElement.doSomething(); });</pre> <p>这是一个例子:</p> <pre class="brush:php;toolbar:false;">food.map(item => item.type) .reduce((result, fruit) => { result.push(fruit); return [...new Set(result)]; }, []);</pre> <p><br /></p>
P粉099145710P粉099145710449 天前545

全部回复(1)我来回复

  • P粉019353247

    P粉0193532472023-07-29 18:29:37

    这呢

    ['a', 'b'].flatMap(selector => {
        return Array.from(document.querySelectorAll(selector)));
      }).forEach(loadingElement => {
        loadingElement.doSomething();
      });

    顺便说一下,你给出的那个"例子"应该这样写:

    new Set(food.map(item => item.type));

    回复
    0
  • 取消回复