【发布时间】:2019-12-24 02:56:13
【问题描述】:
我有下面的 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,因为我发现这种方式更快。
知道如何让它工作吗?
提前致谢
【问题讨论】:
-
$([...])语法用于使用 jQuery 查询 DOM 元素。 -
您的 sn-p 不起作用,因为您正在使用 jQuery's filter 函数,并且该函数回调的第一个参数是索引而不是元素。
标签: javascript jquery json object filter