首页 > 解决方案 > 对象长度为零,无法读取 javascript 中的值

问题描述

我正在尝试使用 javascript 创建一个动态下拉列表,但我无法遍历从后端应用程序返回的值,即使我有值,对象长度也返回为 0

下面是对象

在此处输入图像描述

这是 javascript 片段

 for (key in swaggerlist) {
    console.log(key)
    if (!swaggerlist.hasOwnProperty(key)) continue;
      var obj = swaggerlist[key];
        for (var prop in obj) {
          if (!obj.hasOwnProperty(prop)) continue;
            if(params["url"] == obj[prop]){
              option += '<option value="'+ obj[prop] + '" selected>' + obj[prop] + '</option>\n';
          } else {
              option += '<option value="'+obj[prop] + '">' + obj[prop] + '</option>\n';
        }
     console.log(obj[prop])
  }
  }

我可以使用上述功能阅读以下内容

在此处输入图像描述

如何解决这个问题并通过对象循环获取值?

标签: javascriptjquery

解决方案


您可以使用Object.keys来获取键数组。然后循环这些。

var swaggerKeys = Object.keys(swaggerlist);
swaggerKeys.forEach((key) => {
    //Access property
    var someVal = swaggerlist[key];
});

推荐阅读