我正在尝试从事物(1-10个对象)和东西(1-10个对象)中返回所有 it (字符串) )。我注意到我无法使用通配符来完成此操作,但是我想知道是否还有另一种方法可以做到这一点?
我想返回一个包含所有 it 的数组。
response.things [0] .stuff [0]。它将从我的第一个对象返回的字符串是事物和 stuff 中的每一个,但是
$.get("https://page.json", function(response) {
var substr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var arrayIts = [];
$.each(substr , function(index, val) {
var arrayIts = response[index];
console.log(arrayIts.things[index].stuff[val].it);
});
});
以上将返回所有 it ,直到返回undefined然后停止。
如何返回所有它,并且可能忽略/跳过未定义的内容?
到目前为止,我的解决方案如下所示。
$.getJSON('https://jsonplaceholder.typicode.com/posts', function(data) {
var arrayData = [];
try {arrayData.push("<li>"+data[0].id+"</li>");}catch(e){}
try {arrayData.push("<li>"+data[1].id+"</li>");}catch(e){}
try {arrayData.push("<li>"+data[2].id+"</li>");}catch(e){}
try {arrayData.push("<li>"+data[100].id+"</li>");}catch(e){arrayData.push("<li>skipped</li>")}
try {arrayData.push("<li>"+data[3].id+"</li>");}catch(e){}
try {arrayData.push("<li>"+data[99].id+"</li>");}catch(e){}
document.getElementById('listId').innerHTML = arrayData.join("");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="listId">empty</ul>
答案 0 :(得分:0)
只需使用if。
如果(response [index])arrayIts.push(response [index]);
如果定义了response [index]),则为true。否则是错误的。