我确实有这个JSON示例数组,但我不知道如何循环使用它们并在创建表行时使用它。
样本代码:
var data = [
{foo1:"a",foo2:"b",foo3:"c"},
{foo1:"d",foo2:"e",foo3:"f"},
{foo1:"g",foo2:"h",foo3:"i"}
]
我使用了此方法:
$.each(data, function (key, value) {
rows += "<tr id=" + key + "><td>" + value.foo1+ "</td><td>" + value.foo2+ "</td><td>" + value.foo3+ "</td><td>"</tr>";
});
//但是我想让它更灵活,这样我就可以重用它,从JSON的另一个数组中生成另一行,就像下面的场景:
var dataNew = [
{lorem1:"j",lorem2:"k",lorem3:"l"},
{lorem1:"m",lorem2:"n",lorem3:"o"},
{lorem1:"p",lorem2:"q",lorem3:"r"},
{lorem1:"x",lorem2:"s",lorem3:"t"},
{lorem1:"w",lorem2:"y",lorem3:"z"}
]
//现在不能使用上面的方法
2条答案
按热度按时间kgsdhlau1#
我们可以使用Object.entries()来动态地获取密钥和值
第一个
zy1mlcev2#
你可以收集数组中的对象可能出现的键,然后遍历原始对象数组,并在内部遍历键数组,以获取值并创建行。
功能正确性
首先需要收集键,因为JavaScript不保证对象中属性的顺序。如果你知道数组中的每个对象都有相同的属性,你可以只从第一个对象收集键,而不是迭代所有的项。
安全性
另外,请注意,通过连接字符串来创建DOM元素是不安全的,因为这种方法容易受到代码注入的攻击。
第一个