gpt4 book ai didi

javascript - 在 Javascript 中使用多种组合的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 05:18:26 24 4
gpt4 key购买 nike

我正在使用客户端 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

一个有效的流程示例是:

用户使用值 i 更新类型为 a 的项目,默认情况下,它将选择值 1 的依赖值 。所有这些都将触发具有相同值 ib 类型项目(即项目 a 的子项或父项)的更新,或者另一个 ii 以及 iii12 的从属值(最后一个字段的值可以相同或完全不同)。

其他信息:

并非字段之间所有可能的值组合实际上都是可能的。例如,来自 field1 的值 a 具有来自 field2 的 1 到 4 个值,并且每个 field2 值具有同样是 field3 中 1 到 6 个值的范围。

到目前为止,我提出的解决方案是使用嵌套的 switch 语句,但这会导致大量不可读且容易出错的代码。

我做的另一件事是创建一个文字对象,例如:

function getItem(value1, value2, value3) {
var firstValues = {
a : function() {
return "a";
}
....
}
var secondValues = {
i : function() {
return "i";
}
....
}
var thirdValues = {
1 : function() {
return "1";
}
....
}
var final = {
Field1 : firstValues[value1](),
Field2 : secondValues[value2](),
Field3 : thirdValues[value3](),
}
return final;
}

但仍需要添加一些开关以确保一切正确。

任何有关我如何解决这个问题的帮助将不胜感激。

最佳答案

非常复杂的逻辑,但通常你的问题是 - 我有三个(或更多)数组,但它应该是对象列表(或树)。我该如何处理?

  1. 您可以重做(更改)API 吗?如果是这样,重做,你的问题就会消失。
  2. 考虑您的数据结构 - 顶级组件、子组件、描述此类
  3. 创建工厂对象,它将处理您的分布式数据并从中返回对象列表(或树)
  4. ...?
  5. 利润

关于javascript - 在 Javascript 中使用多种组合的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41500868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com