我正在运行以下内容:
function wikiText() {
console.log(JSON.stringify(JSON.parse(JSON.stringify(spacetime)), null, 4));
var url="https://en.wikipedia.org/w/api.php?action=parse&disablelimitreport=true&format=json&prop=text|langlinks&noimages=true&mobileformat=true&page="+ curTitle + "&callback=?";
$.getJSON(url,function(data){
$.each(data, function(i, item) {
spacetime[0].Title.push(curTitle);
for(var i = 0; i < dateText.length; i++) {
d += dateText[i] + ' ';
}
var words = d.split(" ");
var array = words;
var newArray = array.filter(function(v){return v!==''});
for (const word of newArray) {
if (months.has(word)) {
spacetime[0].Time.months.push(word);
} else if (+word < 32) {
spacetime[0].Time.days.push(+word);
} else if (+word < 2200) {
spacetime[0].Time.years.push(+word);
} else if (/\w+/.test(word)) {
spacetime[0].Time.suffixes.push(word);
}
}
let pattern = new RegExp('^\/wiki\/');
doSelect("Location").siblings('td').find('a').each(function(index, el) {
result = $(this).attr('href').replace(pattern, '');
countryPage();
});
};
});
});
}
实际上这是一个由另一个函数function newQuery() {.. wikiText();
调用的函数
然后,第一段代码运行另一个函数function countryPage() {
,但这个函数没有推动spacetime[0].Time...
但是我得到了重复的值,如:
"days": [
27,
28,
27,
28,
19,
22,
27,
28,
19,
22,
27,
28,
19,
22,
我不明白为什么它会重复这些值,好像它正在保存它们并在每次调用函数时重新推送它们。
我确实有一个jsFiddle只是耐心一点,因为它正在进行大量的解析。(参见console.log)。
我需要:
"days": [
27,
28,
19,
22,