我正在使用一个不确定如何构建的报告工具-
基本上,我正在使用一种表单,该表单需要用户输入并进行转换。
对象的整体结构看起来像这样...
=ARRAYFORMULA(SUBSTITUTE(TRANSPOSE(SPLIT(CONCATENATE({"♥"&MMULT(
SPLIT(TRANSPOSE(SPLIT(TEXTJOIN(" ", 1, IF(INDIRECT("A2:A"&MAX(IF(A2:A<>"",
ROW(A2:A), )))="", "♦", A2:A)), "♦")), " ")*1, ROW(INDIRECT("A1:A"&COLUMNS(
SPLIT(TRANSPOSE(SPLIT(TEXTJOIN(" ", 1, IF(INDIRECT("A2:A"&MAX(IF(A2:A<>"",
ROW(A2:A), )))="", "♦", A2:A)), "♦")), " ")*1)))^0),IF(
SPLIT(TRANSPOSE(SPLIT(TEXTJOIN(" ", 1, IF(INDIRECT("A2:A"&MAX(IF(A2:A<>"",
ROW(A2:A), )))="", "♦", A2:A)), "♦")), " ")<>"", "♥♠", )}), "♥")), "♠", ))
一旦用户输入了一些数据,它应该接受输入并将其更改为另一个数字。
object {
userInput: ' ',
available: ' ',
}
转换将在1个函数中完成,然后更新对象。
伪代码:
silo_1Lookup = userInput => {
silo_1DepthsFilling = [926, 893, 860, 827, 794, 761];
};
每个值将与该数组中的索引相对应,因此,如果if (object.userInput === "0") {
object.available = "926";
}
,则object.avaible将为761(object.userInput === '2.5'
)
答案 0 :(得分:1)
一种方法是使用字典将userInput
映射到available
值,例如:
const USER_MAPPING = {
"0": "926",
"3": "5412",
"2": "2321"
// ... rest values
};
// usage
return USER_MAPPING[object.userInput];
这种映射是经过硬编码的,并且为漏洞提供了机会,因此,如果userInput
及其值后面有任何逻辑,则应为其生成一些函数:
return generateAvailable(object.userInput)