Javascript - 使用数组计算一些坐标

Javascript - use an array to calculate some coordinates

提问人:Fam 提问时间:4/30/2017 最后编辑:ibrahim mahrirFam 更新时间:4/30/2017 访问量:78

问:

下面的行将返回一些格式为的数字

8458.268,19166.142,13113.780,25837.795,13113.780,25837.795...

output=output.split("\n").filter(/./.test, /Coordinates/).join("\n").replace(/[^0-9.,]/g,'');

然后它在下面一行中输出......但在它输出之前......我需要执行一些计算...就像把所有这些数字除以X一样

document.getElementById('inputTextToSave').innerHTML= output0 + output + output2;
JavaScript 的HTML

评论

2赞 ibrahim mahrir 4/30/2017
不清楚你在问什么。
0赞 Fam 4/30/2017
数组中的数字需要除以 2.2 才能输出。我不知道创建一个数组来执行计算
0赞 ibrahim mahrir 4/30/2017
发布原始数据的真实面貌。
0赞 Fam 4/30/2017
文本文件包含一行: 坐标: (999.000,111.000,234.00,234.000....)

答:

0赞 Brett East 4/30/2017 #1

尝试在需要进行计算的点对数组使用函数。一旦你有了数组,使每个项目都采用你想要的格式,你就可以映射数组并将每个项目除以 2.2。map

例如

arr.map((item) => {
  return item/2.2;
}) // at this point you could chain on 'join("\n")' or whatever

如果我理解正确的话,你想用你拥有的数据做一个数组,然后对每一段数据执行计算,然后用它做其他事情。如果是这样,那么内置的 javascript 函数就是要走的路。map

注意:我使用 ES6 胖箭头语法作为 map 中的函数,显然您可以使用匿名函数map(function(item) {...});

评论

0赞 Fam 4/30/2017
我尝试使用它,但它会返回 NaN...var 数组 = ['output'];divBy2 = v => v / 2.2;结果 = array.map(divBy2);
0赞 Brett East 4/30/2017
在除以 2.2 之前尝试在您的项目上运行。例如parseFloat()divBy2 = v => parseFloat(v) / 2.2;
0赞 Fam 5/4/2017
它现在可以工作并返回一个值......但它只返回数组中的第一个值。即我的数组由 1,2,3,4,5 组成,...它只返回第一个数字的值。
0赞 Brett East 5/4/2017
您的代码现在是什么样子的?它对我有用:然后运行:结果为 .(注:我去掉了一些小数位)arr = [100, 200,34,2.2,65];arr.map((item) => { return item/2.2 });[45.45, 90.90, 15.45, 1, 29.54]
0赞 Fam 5/4/2017
数字实际上来自文本文件......我正在使用下面的输出来提取..var 数组 = [输出];divBy2 = v => parseInt(v) / 2;结果 = array.map(divBy2);