如何检查JS中是否存在for循环中的对象?

时间:2017-06-20 16:23:46

标签: javascript

我有一个正常工作的for循环,但我想确保我的代码也准备好服务器端问题。在将所有东西都运行之前,我可以用它来测试吗?

我的循环:

for (var i = 0; i < data.sources.length; i++) {
  selectBoxSource += '<option value="' + data.sources[i].id + '">' + 
    domainid[i].source + '</option>';
}

1 个答案:

答案 0 :(得分:1)

在javascript中,您只需通过调用条件

即可检查是否存在任何对象
if (data.sources[i]) {
  // Do whatever you want here, even call data.sources[i].id
}

因此,对于代码,如果要检查这些对象的存在,它将变为如下:

for (var i = 0; i < data.sources.length; i++) {
  if (data.sources[i] && domainid[i]) {
    selectBoxSource += '<option value="' + data.sources[i].id + '">' + 
      domainid[i].source + '</option>';
  }
}

更高级别的验证将是

for (var i = 0; i < data.sources.length; i++) {
  if (data.sources[i] && data.sources[i].id && domainid[i] && domainid[i].source) {
    selectBoxSource += '<option value="' + data.sources[i].id + '">' + 
      domainid[i].source + '</option>';
  }
}