gpt4 book ai didi

node.js - 需要帮助查找 JSON 文件 (node.js) 中列中的最大值

转载 作者:太空宇宙 更新时间:2023-11-04 00:25:56 25 4
gpt4 key购买 nike

我的地球物理学类(class)计算中有一项作业;该任务基本上是找到 txt 文件的一列中的最大值(该值是地震的震级,该文件包含 1990-2000 年的所有地震)。然后获取此类地震的纬度和经度并将其绘制在 map 上。这个任务在 python 中完成起来非常简单,但是由于我花了一些空闲时间来研究 webdev,所以我正在考虑制作一个简单的 web 应用程序来完成完整的任务。

换句话说,我会上传一个文件到其中,它会自动将最大的地震指定到谷歌地图中。

但是由于我在 Node.js 方面是个菜鸟,因此我很难启动该项目,因此我将其分成几个部分,并且我需要有关第一部分的帮助。

我正在考虑将带有数据的 txt.file 转换为 .csv 文件,然后将其转换为 .json 文件。我完全不知道应该使用什么算法来扫描 .json 文件并找到给定列的最大值。

这是原始 .txt 文件的第一行:

1 5 0 7.0 274 102.000 -3.000

这里是一个 .csv 文件,使用在线转换器:

1 5 0 7.0 274 102.000 -3.000

这里是 .json 文件,再次使用在线转换器:

1\t 5\t 0\t7.0\t274\t102.000\t -3.000

基本上我需要扫描所有行并找到第 5 列的最大值。

对我如何开始编写这段代码有任何帮助吗?

非常感谢。

TLDR 版本:

需要查找多行 JSON 文件中第 5 列的最大值。

最佳答案

我尝试过将其作为单行代码高尔夫风格。我将省略通常的“不要让 Stack Overflow 为你做作业”的伎俩。现在的 children ,你只是在欺骗自己,yada yada。

分割、映射、缩减。

let data = require('fs').readFileSync('renan/homework/geophysicist_data.txt')

let biggest = data.split('\n')
.map(line => line.split(/[ ]+/)[4])
.reduce((a, b) => Math.max(a, b))

加载数据后,我们分三步进行处理。

  1. .split('\n') 通过在换行符上进行拆分,我们将文本文件分解为一个数组,以便文本文件中的每一行都转换为数组中的一个项目。
  2. .map(line => line.split(/[ ]+/)[4]) 'map' 获取此行数组并在每一行上单独运行命令。对于每一行,我们告诉它一个或多个空格 (split(/[ ]+/)) 是列分隔符,一旦它被分成几列,即可获取该行中的第五列(我们使用 [4] 而不是 [5],因为 javascript 从 0 开始计数)。
  3. .reduce((a, b) => Math.max(a, b)) 现在我们有了一个仅包含第五列数字的数组,我们可以将数组直接发送到 Math.max 并让它为我们计算答案。万岁!

如果这个数据甚至有点不均匀,就很容易打破这个,但我假设是因为这是一项家庭作业,但情况并非如此。

祝你好运!

关于node.js - 需要帮助查找 JSON 文件 (node.js) 中列中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42800712/

25 4 0
文章推荐: javascript - 如何确认该代码段已在 Node.js 中完成执行
文章推荐: jquery - div 表现得像溢出 :hidden even when set to visible in IE7
文章推荐: css - 我的链接未被其父
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com