Array.prototype.filter() 期望在箭头函数 array-callback-return 结束时返回一个值

时间:2021-07-21 19:15:31

标签: javascript

我在这里看到过类似的问题,但我无法弄清楚如何在涉及多个条件的情况下消除此错误。

这是 .filter() 对象:

orders.filter((order) => {
  if (filterId === 0) {
    return order.status === 0 && order.type <= 3;
  } else if (filterId === 1) {
    return order.status === 0 && order.type === 0;
  } else if (filterId === 2) {
    return order.status === 0 && order.type === 1;
  } else if (filterId === 3) {
    return order.status === 0 && order.type === 2;
  }
}).map(...);

1 个答案:

答案 0 :(得分:0)

考虑将您的方法改为 switch 而不是 if else 链。

orders.filter((order) => {
  let value = 0;
  
  switch(filtedId){
    case 0:
      value = order.status === 0 && order.type <= 3;
    case 1:
      value = order.status === 0 && order.type === 0;
    case 2:
     value = order.status === 0 && order.type === 1;
    case 3:  
     value =order.status === 0 && order.type === 2;
    default: 
      value = 0
  }
  
  return value 
}).map(...);