在javascript中添加选项以使用对象的键和值进行选择?
我需要在javascript中迭代以下对象以填充选择选项:在javascript中添加选项以使用对象的键和值进行选择?,javascript,loops,object,Javascript,Loops,Object,我需要在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[
{"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。您可以使用和执行类似操作: const data={options:{116:{pt:116,en:116},118:{pt:118,en:118}} const sel=document.getElementById'select'; const ptValues=Object.valuesdata.options .forEachv=>{ var opt=document.createElement'option'; opt.innerHTML=opt.value=v.pt sel.appendChildopt; } 您只需要执行数据[key].pt: var obj={ 选项:{ 116: { pt:116, en:116 }, 118: { pt:118, en:118 } } }; var数据=对象选项; var sel=document.getElementById'select'; 用于var键入数据{ 如果data.hasOwnPropertykey{ var opt=document.createElement'option'; opt.innerHTML=data[key].pt; opt.value=data[key].pt; sel.appendChildopt; } }
因此,数据是选项对象?这不是最佳解决方案,因为这是添加额外的循环以过滤pt值。相反,您可以在创建选项时在同一个循环中执行此操作。我键入了选项代码并进行了更新:我喜欢这样,因为它将原始问题更改为最小值。