我有一個JavaScript函數,它應該返回由維基百科頁面鏈接的所有文章的數組,給定標題。設置變量爲函數的結果非常奇怪
這就是:
function getLinksFrom(title, returnArray, plcontinue) {
var url = 'http://en.wikipedia.org/w/api.php?action=query&prop=links&titles=' + title + '&format=json&pllimit=500&plnamespace=0&callback=?';
if (!returnArray) {
returnArray = [];
}
if (!plcontinue) {
plcontinue = '';
}
if (returnArray.length === 0 || plcontinue !== '') {
if (plcontinue !== '') {
url = 'http://en.wikipedia.org/w/api.php?action=query&prop=links&titles=' + title + '&format=json&pllimit=500&plnamespace=0&plcontinue=' + plcontinue + '&callback=?';
}
$.ajax({url: url,
dataType: 'json',
async: false,
success: function(data) {
for (key in data['query']['pages']) {
links = data['query']['pages'][key]['links'];
}
for (var i = 0; i < links.length; i += 1) {
returnArray.push(links[i]['title']);
}
if (data.hasOwnProperty('query-continue')) {
plcontinue = data['query-continue']['links']['plcontinue'];
} else {
plcontinue = '';
}
console.log(returnArray);
return getLinksFrom(title, returnArray, plcontinue);
}
});
}
console.log(returnArray);
return returnArray;
}
當我運行這個功能,看控制檯中,執行console.log(returnArray);線把我想要在控制檯。字符串的數組。但這裏是我感到困惑的地方。
我想將那個returnArray存儲在一個名爲links的變量中。這是該行下面的功能。
var links = getLinksFrom('United States');
但鏈接並不等於之前記錄的美妙事物。相反,它包含一個對象數組,這不是正確的長度。
這裏發生了什麼?
+1爲圖片:-) –