Javascript 如何从字符串中提取十进制数,将其映射到分类描述,并将此描述附加到字符串中? [ “|时间:12:00 |跟踪ID:1 | Dim:0.01, “|时间:12:01 |跟踪ID:2 | Dim:0.02, “|时间:12:02 |跟踪ID:3 | Dim:0.03, “|时间:12:04 |跟踪ID:4 | Dim:0.04, |时间:12:05 |跟踪ID:5 |暗度:0.04, ];

Javascript 如何从字符串中提取十进制数,将其映射到分类描述,并将此描述附加到字符串中? [ “|时间:12:00 |跟踪ID:1 | Dim:0.01, “|时间:12:01 |跟踪ID:2 | Dim:0.02, “|时间:12:02 |跟踪ID:3 | Dim:0.03, “|时间:12:04 |跟踪ID:4 | Dim:0.04, |时间:12:05 |跟踪ID:5 |暗度:0.04, ];,javascript,node.js,Javascript,Node.js,这是我在原始文本文件末尾需要的输出,因此对于第5列“距离”,我需要将维度划分为三个类别,并在“距离”列中显示每个维度的相应类别 我该怎么做呢?下面的代码迭代每个字符串,捕获(使用RegExp)单词'Dim'后的数字序列和可能的小数点,用+强制将其转换为实际数字,然后确定类别并将其附加到字符串中 const六英尺=0.02; 常数十六英尺=0.079; 常量输入=[ “|时间:02:49:26.866 |跟踪ID:1592189362433 |原始温度:33.270588 |尺寸:0.06250

这是我在原始文本文件末尾需要的输出,因此对于第5列“距离”,我需要将维度划分为三个类别,并在“距离”列中显示每个维度的相应类别


我该怎么做呢?

下面的代码迭代每个字符串,捕获(使用
RegExp
)单词
'Dim'
后的数字序列和可能的小数点,用
+
强制将其转换为实际数字,然后确定类别并将其附加到字符串中

const六英尺=0.02;
常数十六英尺=0.079;
常量输入=[
“|时间:02:49:26.866 |跟踪ID:1592189362433 |原始温度:33.270588 |尺寸:0.062500 |距离:”,
“|时间:02:49:27.295 |跟踪ID:1592189362433 |原始温度:33.215687 |暗度:0.065625 |距离:”,
“|时间:02:49:27.500 |跟踪ID:1592189362433 |原始温度:33.325489 |尺寸:0.062500 |距离:”,
“|时间:02:49:39.318 |跟踪ID:1592189370626 |原始温度:32.666668 |尺寸:0.053125 |距离:”,
“|时间:02:49:39.585 |跟踪ID:1592189370626 |原始温度:32.941177 |尺寸:0.053125 |距离:”
];
常量输出=输入.map((字符串)=>{
常量dim=+string.match(/dim:([\d\.]+)/)[1];
常数类别=(尺寸=十六英尺)
“16英尺或更大”
:“6至16英尺”;
返回字符串+类别;
});

控制台日志(输出)
如果我没有弄错你的问题,
if-else if-else
可以帮上忙

例如,
foreach维度

let dist

if (dim <= 0.02) {

  // set dist to 16 feet
  dist = 16;

} else if (dim >= 0.07) {

  // set dist to 6 feet
  dist = 6;

}else {
  // Do something else
}
let dist
如果(尺寸=0.07){
//将距离设置为6英尺
dist=6;
}否则{
//做点别的
}

请粘贴实际文本(如上一个问题),而不是屏幕截图。否则,您会要求任何有兴趣帮助您的人自己实际转录图像。“我怎么做?”对于Stackoverflow来说通常不是一个合适的问题。一个更具体的问题,通常是在尝试并展示了你的工作之后,是可以期待的。请阅读帮助中心。我是Stackoverflow的新手。谢谢你的建议Stephen.代码完全按照预期工作。但是,我在“输入”字段中的实际数据太长(几乎2200个条目),所以给了我错误。有没有办法把它存储在文本文件中,然后添加到“输入”字段中?错误是不是说“超出目标高度”?如果是这样的话,飞机的机头应该稍微向下倾斜。我能读懂文件并在“输入”字段中获取值吗?请问一个新问题。现在还不清楚为什么不把它简单地放在一个字符串中,因为你知道这正是问题所在。