javascript - 从没有辅助变量的过滤器内部循环返回值

标签 javascript ecmascript-6 functional-programming

我有这段代码,但是,为了使其工作,我需要创建一个辅助变量来存储该值。没有这个变量可以做到吗?也许是一种更实用的方法?

    const filterSo = response => {
    return response.filter((item) => {
        let shoudlReturn = false;
        for (let key in item) {
            if (filters[lowerFirst(key)]) {
                shoudlReturn = filters[lowerFirst(key)] === item[key];
            }
        }
        return shoudlReturn;
    });
};

最佳答案

由于答案是 bool 值,因此只要知道答案是true,就可以返回。更改条件以使用 short-circuit evaluation检查这两种情况,如果两者都为 true 则立即返回。

const filterSo = response => response.filter((item) => {
  for (let key in item) {
    if (filters[lowerFirst(key)] && filters[lowerFirst(key)] === item[key]) {
      return true;
    }
  }
  return false;
});

关于javascript - 从没有辅助变量的过滤器内部循环返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53006580/

相关文章:

javascript - React map 元素渲染后不显示

javascript - 在 Jquery 中评估

javascript - 符号 : How does implicit string conversion work in JavaScript?

scala - 幺半群同态和同构

concurrency - 函数式语言(特别是 Erlang)如何/为什么能够很好地扩展?

javascript - Firefox 中的 console.memory 等效项?

javascript - 等待根据指令发起的 promise 解决的最佳方式是什么?

javascript - Babel 对我的 Javascript 没有影响

javascript - 循环嵌套数组并过滤掉所有条目?

c++ boost::bind vs clojure 部分函数