我不知道json,我有循环语句。我只需要单个数据,如何在JSON中编写if语句。请帮帮我,
function myFunction(response) {
var arr = JSON.parse(response);
var i;
var out = "<table>";
for(i = 0; i < arr.length; i++) {
out += "<tr><td> " +
arr[i].offerPercentage +
"</td><td>" +
arr[i].offerName +
"</td></tr>";
}enter code here
out += "</table>";
document.getElementById("id01").innerHTML = out;
}
答案 0 :(得分:-4)
修改强>
现在很清楚你想要什么,只需要循环一个项目,就可以改变迭代的次数 - 目前它会迭代整个数组,只迭代一次更改arr.length
到{{1} (或者您要显示的项目数量很多):
1
或者您可以直接引用第一个结果并绕过循环,这将更有意义:
function myFunction(response) {
var arr = JSON.parse(response);
var i;
var out = "<table>";
for(i = 0; i < 1; i++) {
out += "<tr><td> " +
arr[0].offerPercentage +
"</td><td>" +
arr[0].offerName +
"</td></tr>";
}
out += "</table>";
document.getElementById("id01").innerHTML = out;
}
旧答案:
Javascript中的对象没有function myFunction(response) {
var arr = JSON.parse(response);
var i;
var out = "<table>";
// Only append if `arr` has at least one result.
if (typeof arr[0] !== 'undefined') {
out += "<tr><td> " +
arr[0].offerPercentage +
"</td><td>" +
arr[0].offerName +
"</td></tr>";
}
out += "</table>";
document.getElementById("id01").innerHTML = out;
}
属性。
要循环对象,请使用for...in
语法:
.length
如果返回的内容 实际上是一个数组,那么您的问题不是您的语法,而是您在每个循环中使用for (var offer in arr) {
// `offer.offerPercentage` and `offer.offerName` will be available here.
}
而不是arr[0]
。