Wikipedia API 搜索 -- 使用 forEach 检索每个数组的相同索引?
Wikipedia API search -- Retrieve same index of each array with forEach?
我正在为 freeCodeCamp 做一个项目,我整天都在做这个部分。我正在从维基百科 API 中提取数据并且我能够使用它,但我不确定语法应该如何寻找我想要实现的目标。这是我正在处理的数据示例的 link。 Wikipedia API Search.
现在,在我的 HTML 中,我有一个 bootstrap 模态框,它在用户向表单中输入内容后出现,其中列出的组包含搜索返回的数据。
这是我目前的代码。
$(document).ready(function () {
$('#searchForm').on('submit', function(e) {
e.preventDefault();
$('#wikiSearch').modal('show');
var usersearch = document.getElementById('userinput').value;
var apiURL = "https://en.wikipedia.org/w/api.php?
action=opensearch&search="
+ usersearch + "&format=json&callback=?";
$.ajax({
url: apiURL,
contentType: "application/json; charset=utf-8",
dataType: 'json',
type: 'GET',
success: function (data) {
data[1].forEach(function(item) {
$('#results').append("<tr><td><a href='#'>"+item+"</a></td></tr>")
});
data[2].forEach(function(item) {
$('#brief').append("<tr><td>"+item+"</td></tr>")
})
}
});
});
});
对于我 HTML 模式中的每个组,我想显示 1 个搜索结果。我想我可以使用嵌套的 forEach,但它没有返回我想要的结果。我试过使用地图,也试过创建一个长嵌套的 for 循环,感觉在学习方面我可能弊大于利,因为我现在只是感到困惑,哈哈。感谢您的任何输入。
要显示搜索结果的第一行,请使用嵌套数组的第一个键:
$('#results').append("<tr><td><a href='#'>" + data[1][0] + "</a></td></tr>")
$('#brief').append("<tr><td>" + data[2][0] + "</td></tr>")
不要忘记在 data
数组中添加对可能的 undefined
值的检查。
我正在为 freeCodeCamp 做一个项目,我整天都在做这个部分。我正在从维基百科 API 中提取数据并且我能够使用它,但我不确定语法应该如何寻找我想要实现的目标。这是我正在处理的数据示例的 link。 Wikipedia API Search.
现在,在我的 HTML 中,我有一个 bootstrap 模态框,它在用户向表单中输入内容后出现,其中列出的组包含搜索返回的数据。
这是我目前的代码。
$(document).ready(function () {
$('#searchForm').on('submit', function(e) {
e.preventDefault();
$('#wikiSearch').modal('show');
var usersearch = document.getElementById('userinput').value;
var apiURL = "https://en.wikipedia.org/w/api.php?
action=opensearch&search="
+ usersearch + "&format=json&callback=?";
$.ajax({
url: apiURL,
contentType: "application/json; charset=utf-8",
dataType: 'json',
type: 'GET',
success: function (data) {
data[1].forEach(function(item) {
$('#results').append("<tr><td><a href='#'>"+item+"</a></td></tr>")
});
data[2].forEach(function(item) {
$('#brief').append("<tr><td>"+item+"</td></tr>")
})
}
});
});
});
对于我 HTML 模式中的每个组,我想显示 1 个搜索结果。我想我可以使用嵌套的 forEach,但它没有返回我想要的结果。我试过使用地图,也试过创建一个长嵌套的 for 循环,感觉在学习方面我可能弊大于利,因为我现在只是感到困惑,哈哈。感谢您的任何输入。
要显示搜索结果的第一行,请使用嵌套数组的第一个键:
$('#results').append("<tr><td><a href='#'>" + data[1][0] + "</a></td></tr>")
$('#brief').append("<tr><td>" + data[2][0] + "</td></tr>")
不要忘记在 data
数组中添加对可能的 undefined
值的检查。