我正在使用客户端API处理项目,我需要根据多个字段更新某个项目的状态(目前有3个,但如果我决定添加更多功能,可能会在以后进行扩展)。
所以,基本上它类似于:
var field1 = ['a', 'b', 'c', 'd',...] //there are about 9 values
var field2 = ['i', 'ii', 'iii', 'iv',...] //there are about 11 values
var field3 = [1, 2, 3, 4,...] //there are more than 30 values
有效的流程示例如下:
用户使用值a
更新i
类型的项目,默认情况下会为值1
选择i
的相关值。所有这些都将触发更新b
类型的项目(项目a
的子项或父项),具有相同的值i
或其他ii
和依赖项i
或ii
或1
的{{1}}或2
的值(对于最后一个字段,它可以是相同或完全不同的值)。
其他信息:
并非所有可能的字段之间的值组合都是可能的。
例如,来自a
的{{1}}值的范围介于field1
的1到4之间,而每个field2
值的范围介于{{1}之间,范围介于1到6之间}}
到目前为止,我提出的解决方案是使用嵌套的field2
语句,但这导致了大量不可读且容易出错的代码。
我做的另一件事是创建一个文字对象,例如:
field3
但仍需要添加一些switch
以确保一切正确。
对我如何解决这个问题的任何帮助都将不胜感激。
答案 0 :(得分:1)
非常复杂的逻辑,但通常你的问题是 - 我有三个(或更多)数组,但它应该是对象的列表(或树)。我该怎么处理呢?