我具有一些属性的变量:
var fullName = { FirstName:'Josef',SecondName:'Luis', LastName:'Pumpkin'}
我正在获取此变量的值,并将其放入Table中,如下所示:
for(var i in fullName){
if(fullName.hasOwnProperty(i)){
var newCell = newRow.insertCell(0);
newCell.innerHTML = fullName[i];
}
}
输出结果是:约瑟夫·路易斯南瓜。问题是我也该如何添加其属性名称,以得到如下输出: FirstName -Josef, SecondName -Luis, LastName -南瓜(在他们的单元格中)?
答案 0 :(得分:3)
我有一些参数变量
该变量引用具有 properties (不是参数)的对象。
您在循环中拥有属性的名称(如i
)。只需使用字符串串联:
newCell.innerHTML = i + " - " + fullName[i];
或者在现代(ES2015 +)环境中,您可以使用https://github.com/felixfbecker/vscode-php-debug#remote-host-debugging:
newCell.innerHTML = `${i} - ${fullName[i]}`;
请注意,for-in
访问属性的顺序为template literal,即使在ES2015 +中也是如此。即使指定for-in
来支持ES2015确实添加到属性的顺序,该顺序也会根据对象的创建方式而变化。因此,请注意,您正在创建的单元格可能不会始终保持相同的顺序。
答案 1 :(得分:1)
i + " - " + fullName[i]
它只是一些字符串连接,您已经在i
变量中获得了键。我怎么写:
Object.entries(fullName)
.map(pair => pair.join(" - "))
.forEach(entry => newRow.insertCell(0).innerHTML = entry)