我需要创建一个从 json 对象创建组合框的函数。我得不到
"use strict"
let vars = {
kagit: {
"ABR": 50,
"Krome 230 gr": 230,
"Krome 300 gr": 300,
"Krome 350 gr": 350,
"Fantezi": 6,
"Kraft": 5,
"1. Hamur": 4
},
ebat: {
"50x70 cm": 5,
"90x126 cm": 76
}
}
正如您从函数中看到的那样,我使用了 object.entries() 但是当我尝试执行该函数时,我无法放置从函数执行返回的参数。
function comboBox(comboValue) {
let getValue = comboValue;
let comboOption = document.querySelector('.' + getValue);
let defaultOption = document.createElement('option');
defaultOption.text = 'Lütfen Seçiniz';
comboOption.add(defaultOption);
comboOption.selectedIndex = 0;
let objEnt = "vars." + getValue;
let option;
for (const [key, value] of Object.entries(objEnt)) {
option = document.createElement('option');
option.text = key;
option.value = value;
comboOption.add(option);
}
return;
}
comboBox("kagit");
最佳答案
不要将字符串传递给 Object.Entries
。而是传递对象:
let vars = {
kagit: { "ABR": 50, "Krome 230 gr": 230, "Krome 300 gr": 300, "Krome 350 gr": 350, "Fantezi": 6, "Kraft": 5, "1. Hamur": 4 },
ebat: { "50x70 cm": 5, "90x126 cm": 76 }
}
function comboBox(comboValue) {
// Get the chosen value from the `vars` global;
let objEnt = vars[comboValue];
// Now get this value's entries
let entries = Object.entries(objEnt);
console.log(entries)
}
comboBox("kagit");
关于JavaScript 从一个值执行 Object.entries(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51890436/