javascript - 以角度从数组中检索值
问题描述
我正在开发一个角度应用程序。我有一个数组如下。
[
{
Code: "123",
Details:[
{
Id: "1",
Name: "Gary"
},
{
Id: "2",
Name: "Rocky"
}]
},
{
Code: "456",
Details:[
{
Id: "3",
Name: "Cindy"
},
{
Id: "4",
Name: "Jacky"
}]
}
]
可以有更多的元素。此数组包含代码、详细信息数组(可以是任意长度)- 此详细信息数组包含 ID 和名称。我有来自查询参数的 ID。我需要在 Details 数组中查看 Id 匹配的 id 并获取代码。例如,如果来自查询参数的 Id 为 4,那么我需要检索 Code 值,即 456。如果 Id 值为 2,那么我需要检索 Code 值,即 123。我该怎么做?
解决方案
假设 OP 正在处理一组对象。
您可以将函数Array.prototype.find
与函数一起使用,Array.prototype.some
以便能够识别特定细节。
最后,使用解构赋值我们可以提取属性Code
。
let arr = [{
Code: "123",
Details: [{
Id: "1",
Name: "Gary"
}, {
Id: "2",
Name: "Rocky"
}]
}, {
Code: "456",
Details: [{
Id: "3",
Name: "Cindy"
}, {
Id: "4",
Name: "Jacky"
}]
}];
let { Code } = arr.find(({ Details }) =>
Details.some(({ Id }) => Id === "4")) || {}; //If not found, undefined will be assigned
console.log(Code);
推荐阅读
- python - Visual Studio 中的 Discord 和 Python 问题
- swift - 存储类型到函数参数
- angular - 如何在角度形式中使用primeng自动完成(如何在形式JSON中使用completeMethod事件)
- git - 有没有办法将多个测试分支名称与 AWS ALB 目标组联系起来?
- linux - 如何为 Linux (Arch) 手动安装旧版本的 unity (2019)
- scala - Akka Stream 源队列:如何限制在具有背压的队列中的插入(来自可遍历的接口)
- javascript - 处理 Snowflake 中调用多个存储过程的异常
- reactjs - 如何使用 reactjs 启用滚动条?
- google-apps-script - 我们如何使用应用程序脚本控制台将多个键和值添加到谷歌驱动器文件?
- python - python:以不同的方式将相同的值分配给列表时得到不同的结果