分享
三行代码  ›  专栏  ›  技术社区  ›  invrt

基于输入的数组索引值返回值 - return value from array index value based on input

  •  0
  • invrt  · 技术社区  · 1 周前

    我正在开发一个报告工具,我不知道如何构建-

    基本上,我使用的是一个表单,它接受用户的输入并转换它。

    物体的整体结构会像这样…

    object {
     userInput: ' ',
     available: ' ',
    }
    

    一旦用户输入了一些数据,就应该接受输入并换成不同的数字。

    silo_1Lookup = userInput => {
      silo_1DepthsFilling = [926, 893, 860, 827, 794, 761];
    };
    

    转换将在1个函数中完成,然后更新对象。

    伪代码:

    if (object.userInput === "0") {
      object.available = "926";
    }
    

    每个值都将与该数组中的索引相对应,因此如果 object.userInput === '2.5' 那么object.available将是761( arrayIndex: 6 )

    1 回复  |  直到 1 周前
        1
  •  1
  •   Dennis Vash    1 周前

    一种方法是使用字典来映射 userInput available 价值,比如:

    const USER_MAPPING = {
      "0": "926",
      "3": "5412",
      "2": "2321"
      // ... rest values
    };
    
    // usage
    return USER_MAPPING[object.userInput];
    

    这样的映射是硬编码的,为bug打开了机会,所以如果后面有逻辑的话 用户输入 值,你应该为它生成一些函数:

    return generateAvailable(object.userInput)