gpt4 book ai didi

javascript - 使用 for in 循环访问对象属性而不知道它的父对象

转载 作者:行者123 更新时间:2023-11-28 18:29:20 25 4
gpt4 key购买 nike

我正在尝试访问从外部 API 检索的值。具体来说,它是一个缩短的 URL。缩短器将长 URL 保存为对象内的对象本身,并将缩短的 URL 放入该对象中(参见屏幕截图)。

我不知道长 URL 的确切值,所以我尝试使用 for in 循环来访问短 URL(因为我知道如果它是关键,那么它始终是名称),现在将其打印到控制台。

我得到了 undefined、[object, object] 或 null 的变体。

这里缺少什么?

    longUrl = "longUrl=" + longUrl;
$.ajax({
type: 'get',
dataType: 'jsonp',
url:'http://api.shortswitch.com/shorten?apiKey=3f5f69733156cce575b9a7ab1783ff4f4f0a8b5c&format=json&',
crossDomain: true,
data: longUrl,
success: function(data){
for (var shortUrl in data){
if(data.hasOwnProperty(shortUrl)) {
console.log(data[shortUrl]);
}

}

}
});

enter image description here

最佳答案

请尝试使用data.results而不是data:

var shortURLs = [];
for(var key in data.results) {
shortURLs.push(data.results[key].shortUrl);
}
console.log(shortURLs);

演示:

var longUrl = {longUrl: "http://stackoverflow.com/questions/38417777/accessing-an-object-property-without-knowing-its-parent-with-a-for-in-loop/38417810#38417810"};
$.ajax({
type: 'GET',
dataType: 'jsonp',
url:'http://api.shortswitch.com/shorten?apiKey=3f5f69733156cce575b9a7ab1783ff4f4f0a8b5c&format=json&',
crossDomain: true,
data: longUrl,
success: function(data){
var shortURLs = [];
for(var key in data.results) {
shortURLs.push(data.results[key].shortUrl);
}
console.log(shortURLs);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 使用 for in 循环访问对象属性而不知道它的父对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38417777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com