javascript - 如何从数组中返回所述值
问题描述
我有以下数组:
var Boletins = [
{
id:1, items:
[
{
"#": "1",
"Data": "19 a 25 de Março de 2021",
"Região": "região de Trás-Os-Montes e Alto Douro",
"Niveis": "muito elevados",
"PoleneArvore": "cipreste, pinheiro",
"PoleneErva": "urtiga, gramíneas"
},
{
"#": "2",
"Data": "19 a 25 de Março de 2021",
"Região": "região de Entre Douro e Minho",
"Niveis": "muito elevados",
"PoleneArvore": "plátano, pinheiro, carvalhos, cipreste",
"PoleneErva": "urtiga"
}]}];
以下循环选择“数据”字段:
const data = Boletins.filter(x => x.id === 1).flatMap(data => data.items);
data.forEach(x => {
window.alert(x["Data"]);
});
如您所见,两个“数据”字段是相同的,我的循环返回两个字段。我的问题是,我怎样才能改变它以便它只返回第一个“数据”值id:1, items
?
解决方案
ID 是唯一标识符。过滤 ID 是没有意义的。应该只有一个具有此 ID 的元素。
var Boletins = [
{
id:1, items:
[
{
"#": "1",
"Data": "19 a 25 de Março de 2021",
"Região": "região de Trás-Os-Montes e Alto Douro",
"Niveis": "muito elevados",
"PoleneArvore": "cipreste, pinheiro",
"PoleneErva": "urtiga, gramíneas"
},
{
"#": "2",
"Data": "19 a 25 de Março de 2021",
"Região": "região de Entre Douro e Minho",
"Niveis": "muito elevados",
"PoleneArvore": "plátano, pinheiro, carvalhos, cipreste",
"PoleneErva": "urtiga"
}]}];
const data = Boletins.find(x => x.id === 1)?.items[0];
if (data) {
window.alert(data.Data);
}
假设所有项目都有一个Data
属性(否则您的代码会导致错误消息),您正在寻找items
. 您可以使用它访问它items[0]
推荐阅读
- c++ - 如何在 C++ 中实现具有返回类型的访问者模式
- typescript - 将 TypeORM 实体模型类与 NestJS-GraphQL 模式类型结合使用好吗?
- php - 如何获取所选标签的值以更新目的?
- python - 如何在 Windows 10 中安装 python commpy 包?
- game-physics - Unity 播放器和地板 2D 对象不碰撞
- grafana - 无法在 Loki 中获取日志记录
- java - Spring配置只授权一个URL
- c# - 视图状态 MAC 验证失败。至少一个月内没有更改代码
- python - 如何获取python抓取的json结果
- c# - System.ArgumentOutOfRangeException: '提供的 resourceId 不是有效的 Socrata (4x4) 资源标识符