我有一个包含文本数据的网页:
[
{
"Id":1,
"Nombre":"DÓLAR B.NACIÓN",
"VariacionPorcentual":3.63636,
"Compra":52,
"Venta":57,
"UltimaActualizacion":"2019-08-13T10:32:02.810Z",
"Orden":1
},
{
"Id":2,
"Nombre":"DÓLAR BLUE",
"VariacionPorcentual":19.40298,
"Compra":53,
"Venta":56,
"UltimaActualizacion":"2019-08-13T10:32:02.810Z",
"Orden":2
}
]我只需要显示Id等于1的数据。我知道我应该使用.filter(),但我不知道如何在我的代码中实现它。此Id应过滤bna.compra、bna.venta等字段的值。
function getBNA(callback){
request("URL", function(err, response, body){
if (err)
{
console.log("Error getting information from Lanacion", err);
return
}
var bna = JSON.parse(body);
callback(bna);
});
}
app.all(`/${process.env.BOT_ENDPOINT}`, function(req, res){
var cotizaciones = cotizaciones.filter(id => id===1);
getVariacion((dolar) => getBNA((bna) => {
var status = `️ ${dolar.fecha}
Informal:
Compra: $${dolar.compra} | Venta: $${dolar.venta}
Variación: ${dolar["class-variacion"]!=='up' ? "" : ""} ${dolar.variacion}
BNA:
Compra: $${bna.compra} | Venta: $${bna.venta}
Variación: ${(bna.VariacionPorcentual)==0 ? "➖" : (bna.VariacionPorcentual)<0 ? "" : ""} ${(bna.VariacionPorcentual)}%`; 例如,我需要获取:
️ 12/09/2019 - 10:30
Informal:
Compra: $51,88 | Venta: $54,08
Variación: 16,18%以下是Id:1的值
BNA:
Compra: $52(compra) | Venta: $57 (venta)
Variación: 3.63636 (variacion porcentual)发布于 2019-08-13 22:01:03
首先,如果您有一个要与ID进行比较的键列表,则需要一个集合:
const mySet = new Set(['a','b','c'])然后你需要过滤你的数据。
const rows = [.....];
const result = rows.filter( row => mySet.has(row.Id))其中ID是正在查看的密钥。
它将使运行时为O(n+m),其中n是集合的转换/生成,m是行的遍历。
https://stackoverflow.com/questions/57479065
复制相似问题