我有一个函数可以从JSON文件中返回一个值–这很好。
$.get(url), function(result)
我有一个包含3个值的列表。如果result
的值等于此列表中的值,那么我想向页面添加result
。我试图在下面完成此操作,但是它不起作用,我也不知道为什么。
$.get("https://ipinfo.io/json", function (response) {
$("#address").html("Location: " + response.city + ", " + response.region);
$("#postcode").html("Postcode: " + response.postal);
}, "jsonp");
var array1 = [ {name: 'Edinburgh', tno: '0131 111 2222'},
{name: 'Fife', tno: '01383 111222'},
{name: 'Glasgow', tno: '0141 111 2222'} ];
if address = array1.find(function(found) {
return found.tno;
});
window.alert(found);
// expected output: Fife
/* HTML =
<div id="address"></div>
<div id="postcode"></div>
*/
答案 0 :(得分:0)
您没有正确使用array1.find()
。该功能需要将found.tno
与您要搜索的电话号码进行比较。然后,您需要记录返回的值,而不是found
,它是回调函数中的局部变量。
function lookup_tno(tno) {
var array1 = [{
name: 'Edinburgh',
tno: '0131 111 2222'
},
{
name: 'Fife',
tno: '01383 111222'
},
{
name: 'Glasgow',
tno: '0141 111 2222'
}
];
var address = array1.find(el => el.tno == tno);
if (address) {
return address.name;
}
}
console.log(lookup_tno('01383 111222'));