javascript - 如何准备数据字符串但字符串不以null结尾
问题描述
我想让数据集像(11,22) , (11,22,33) , (11,22,33,44) , (11,null,33,44),(11,null,null,44),(11,null,33)
但它不应以 null 结尾。(意味着 dataSet 字符串不应该(11,22,null,null)
像这样出现)。
hpVal=11, outputRpmVal=22,ratioVal=33,outputSpeedVal=44
假设上面的值将来到arrayPrepareFunction。有人可以帮我制作上述格式的数据集字符串吗?
在设置数组时它不应该使用else if
.
动态数据将来自用户端。我将附上屏幕截图。根据用户选择值会有所变化。
这是选择框顺序hpVal
, outputRpmVal
, ratioVal
, outputSpeedVal
.
例如:如果用户选择:
(hpVal=11, outputRpmVal=null,ratioVal=33)
数据集应该是这样的(11,null,33)
。
如果用户选择:
(hpVal=11, outputRpmVal=null,ratioVal=null,outputSpeedVal=44)
数据集应该是这样的(11,null,null,44)
。
如果用户选择:
(hpVal=11, outputRpmVal=22,ratioVal=null,outputSpeedVal=null)
数据集应该是这样的(11,22)
。
var dataSet,avoid=",null";
function arrayPrepareFunction(hpVal,outputRpmVal,ratioVal,outputSpeedVal){
dataSet="("+hpVal+","+outputRpmVal+","+ratioVal+","+outputSpeedVal+")";
dataSet = dataSet.replace(avoid,'');
if(dataSet.indexOf(avoid) != -1){
dataSet = dataSet.replace(avoid,'');
}
console.log(dataSet);
}
arrayPrepareFunction(11,null,33)
arrayPrepareFunction(11,null,null,44)
arrayPrepareFunction(11,22,null,null)
解决方案
不确定这是否是最好的答案,但它可以工作:
这会将所有元素放入一个数组中>>如果为空,则删除最后几个元素>>格式
function arrayPrepareFunction(hpVal,outputRpmVal,ratioVal,outputSpeedVal){
let arr = [hpVal, outputRpmVal, ratioVal, outputSpeedVal];
for(let i = arr.length-1; i >= 0; i --){
if(arr[i] == null) {
arr.pop();
}
else {
break;
}
}
let dataSet = '('
for(let i = 0; i < arr.length; i ++) {
dataSet += arr[i] + (i != arr.length - 1? ',': '');
}
dataSet += ')';
console.log(dataSet);
}
arrayPrepareFunction(11,null,33);
arrayPrepareFunction(11,null,null,44);
arrayPrepareFunction(11,22,null,null);
输出:
(11,null,33)
(11,null,null,44)
(11,22)
推荐阅读
- c# - Xamarin MR.Gestures 移动 ContentView
- ruby-on-rails - 通过 jenkins 和 capistrano 自动部署 rails 应用程序
- url - 如何从 url 下载 .xlsx 文件?
- r - 如何根据 R 中某个字符模式之后出现的分隔符拆分以下字符串向量?
- google-cloud-platform - Google Cloud AISE PyTorch NVidia GPU 生产 - 缺少 Python3.6
- go - 为什么 HTTP 请求总是和完全超时一样长?
- javascript - DOMPurify 在标签之间保留文本 || 仅删除标签
- ios - iPhone 应用程序在使用 SIGABRT 在 AppDelegate 中启动时崩溃
- r - 地图发回主动反应错误
- dynamics-crm - Dynamics 365 - 数据迁移 - 导出门户实体