【问题标题】:Filter true meaning in javascript在javascript中过滤真正的含义
【发布时间】:2021-12-05 11:44:32
【问题描述】:

如果循环返回的值中至少有一个为真,则函数必须返回真。 我该怎么做?

  const addCart = () => {
    for (let i = 0; i < props.cart.length; i++) {
      return props.cart[i].domainName === props.domainName;
    }
  };

【问题讨论】:

标签: javascript function for-loop


【解决方案1】:

试试下面的代码。

const addCart = () => {
  for (let i = 0; i < props.cart.length; i++) {
    if (props.cart[i].domainName === props.domainName) {
      return true;
    }
  }
  return false;
};

当找到第一个相等属性时,该函数返回 true。它使您可以在不检查数组的所有元素的情况下获得结果。

【讨论】:

    【解决方案2】:

    我建议:

    const addCart = () => {
      // here we use Array.prototype.some(),
      // which returns a Boolean; true if any
      // of the array-elements match the provided
      // assessment, or false if not:
      return props.cart.some(
        (cart) => cart.domainName === props.domainName
      );
    }
    

    参考资料:

    【讨论】:

      【解决方案3】:

      你可以在这里使用some

      const addCart = () => {
        if (props.cart.some((o) => o.domainName === props.domainName)) return true;
        return false;
      };
      

      或简单地使用单衬管解决方案

      const addCart = () => props.cart.some((o) => o.domainName === props.domainName);
      

      【讨论】:

        【解决方案4】:
        const addCart = () => props.cart.some(e=>e.domainName===props.domainName);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-10-09
          • 2013-02-02
          • 1970-01-01
          • 2017-05-06
          • 2012-03-30
          • 2011-10-10
          • 2012-08-03
          相关资源
          最近更新 更多