我有一些代码循环遍历数组并将数据添加到 HTML 表中。
对于“Unit_Sell”字段之一,我想在 HTML 中添加“£”符号作为前缀。
这是我尝试过的。
for (var i = 0; i < arr.length; i++) {
var node = win.document.createElement("tr")
for (var key of ['description', 'ref_date_start', 'ref_date_end', 'unit_sell', 'qty', 'price']) {
var tb = win.document.createElement("td")
if (key = 'unit_sell') {
tb.innerHTML = '£' + arr[i][key]
}
tb.innerHTML = arr[i][key]
tb.style.paddingLeft = "30px";
node.appendChild(tb)
}
}
循环工作正常,但不满足 if 语句条件。
最佳答案
正如已经指出的,您需要将 key
与 'unit_sell'
进行比较,而不是进行分配。但是,您还需要一个 else
分支,否则条件中的 innerHTMl
将被覆盖。
for (var i = 0; i < arr.length; i++) {
var node = win.document.createElement("tr")
for (var key of ['description', 'ref_date_start', 'ref_date_end', 'unit_sell', 'qty', 'price']) {
var tb = win.document.createElement("td")
if (key === 'unit_sell') {
tb.innerHTML = '£' + arr[i][key]
} else {
tb.innerHTML = arr[i][key]
}
tb.style.paddingLeft = "30px";
node.appendChild(tb)
}
}
关于javascript - 带嵌套 IF 语句的 FOR LOOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58917956/