javascript - 如何在 JSON 中查找键的值
问题描述
我有以下 JSON 并且在每个对象中都有一个艺术家和图像值。我想要一种机制,当我给出艺术家的名字时,它会返回同一对象中图像的值。所有对象都以 JSON 格式在数组中变形。
var iTunes_data = $([{
"title": "title1",
"image": "images/image1.jpg"
},
{
"title": "Hotel California [Rainwave Chiptunes]",
"image": "images/image2.jpg"
},
{
"title": "The Multi-Story Car Park [Rainwave Chiptunes]",
"image": "images/image3.jpg"
},
{
"title": "title4",
"image": "images/image4.jpg"
},
{
"title": "title5",
"image": "images/image2.jpg"
}
]);
function getImage(currentTitle) {
let url = iTunes_data.filter(element => element.title === currentTitle);
return url[0].image;
}
console.log(getImage("title5"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
所以当我要求时,title5
我想得到images/image2.jpg
.
我不想使用任何循环。它必须更多地通过找到键并获取值而不是通过循环遍历 JSON,因为我发现这种方式更快。
知道如何使它工作吗?
提前致谢
解决方案
没有办法不使用循环。如果您想提高效率,您应该使用 for 循环和匹配中断的命令式方法。
for(let obj in data) {
if(obj.title === title)
// match
break
}
希望这可以帮助。
推荐阅读
- c# - ASP.NET Core 手动注册和配置控制器
- html - 使 SVG 图标获得 100% 的网格区域高度,而宽度服从纵横比
- python - 使用 python 模块构建和安装 OpenCV
- c# - ToolbarItems 图标未显示
- java - CORS Preflight Error in browser but postman request works
- jakarta-ee - OpenLiberty 21.0.0.5 中的 JMS 配置问题
- java - 在 Mac 上安装 Apache Spark 和运行 spark-shell 时出错
- javascript - 在 div 内定位标签
- javascript - 如何使用 javascript 从方法 selenium 获取快速 Web 服务
- django - django 查询使用注释获取额外数据