【问题标题】:how to organize big conditional array如何组织大条件数组
【发布时间】:2022-06-10 17:37:00
【问题描述】:

我必须创建具有很多条件的数组。但是当我尝试阅读我所写的内容时,要知道我正在尝试做什么是非常复杂的。所以我试着简化到这个条件,但我什么也没想到。展示位置也很重要。如何简化此代码块?

const createArrayByConditions =
 (condition1, condition2, condition3, condition4) => {

  if (condition1) {
   if (condition4) {
    return [
     1, 4, 999,
    ];
   } else {
    return [1, 999];
   }
  }

  if (condition2) {
   if (condition4) {
    return [
     2, 4, 999,
    ];
   }
   return [2, 999];
  }

  if (condition3) {
   if (condition4) {
    return [
     3, 4, 999,
    ];
   } else {
    return [3, 999];
   }
  }

  if (condition4) {
   return [4, 999];
  } else {
   return [999];
  }
 };

【问题讨论】:

  • 一旦函数返回,它就会终止。您将永远拥有[1, 4, 999]
  • 是的,这就是我想要的,你可以认为这是一个模拟条件数据
  • 函数的其余部分永远不会发生,所以删除它,我会说它不那么复杂恭喜
  • @ryoshpa 不清楚您是否愿意简化您编写的确切代码.. 或者该代码是否有一些您希望在某些时候更改的参数并且仍然具有工作功能。例如,那些条件是这样硬编码的?或者您希望将其更改为函数参数...好吧,既然您更改了问题就更清楚了

标签: javascript arrays


【解决方案1】:

因为根据您的代码 condition1condition4 等于 true 您将得到这两个嵌套的 if 语句中的内容

所以,你可以重构这个:

const createArrayByConditions = () => [1, 4, 999]

直接声明一个变量数组更好:

const array = [1, 4, 999]

【讨论】:

  • 我编辑了我的问题以便更清楚,对此感到抱歉
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多