首页 > 解决方案 > 添加选项以在 javascript 中使用对象的键和值进行选择?

问题描述

我需要在 javascript 中迭代以下对象以填充选择选项:

{"options":{"116":{"pt":"116","en":"116"},"118":{"pt":"118","en":"118"}}}

我的实际代码是这样的:

for (var key in data) {
   if (data.hasOwnProperty(key)) {
      var opt = document.createElement('option');
      opt.innerHTML = data[key];
      opt.value = data[key];
      sel.appendChild(opt);
   }
}

上面的循环给了我数组中的所有元素。但我想做的是只选择“pt”键的值。我的循环必须只从“pt”键返回 116 和 118。

标签: javascriptloopsobject

解决方案


Object.values你可以使用and来做这样的事情forEach

const data = {"options":{"116":{"pt":"116","en":"116"},"118":{"pt":"118","en":"118"}}}

const sel = document.getElementById('select');

const ptValues = Object.values(data.options)
                        .forEach(v => {
                            var opt = document.createElement('option');
                            opt.innerHTML = opt.value = v.pt
                            sel.appendChild(opt);
                          })
<select id="select"></select>


推荐阅读