JavaScript动态对象键ejs
JavaScript dynamic object keys ejs
我真的找不到描述这一点的方法。从本质上讲,我有一个数据库,它可以包含任意数量的具有不同列长度和名称的表。我有一个表,它定义了每个表及其列。我有一个查询来搜索这些表中的值,并使用express将搜索结果和列传递给ej。我需要的是呼应结果。我确实有:
<div class="row">
<table>
<thead>
<tr>
<% columns.forEach(function(column) { %>
<th><%= column %></th>
<% }); %>
</tr>
</thead>
...
这将正确输出表头中列的名称。然而,我一辈子都不知道如何打印实际结果。我尝试了很多不同的方法,但我一直得到的都是未定义的或[Object-Object]。我现在有这个:
<tbody>
<% for(var r = 0; r < results.length; r++) { %>
<tr>
... need to access column here ...
</tr>
<% } %>
</tbody>
我首先尝试了以下(上面的内部)
<% for(var key in Object.keys(results[r])) { %>
<%= results[r].key %>
<% } %>
随之而来的是许多不同的尝试。我想问题在于不知道可能的关键字名称。老实说,我甚至不知道该搜索什么。我的脑子一片空白。
非常感谢您的帮助。
Object.keys
返回一个对象中所有键的数组。您可以使用forEach
迭代这些键,通过object[key]
访问对象的值
此外,您可以在结果中使用forEach
而不是for
来保持干净。
<% results.forEach(function (result) { %>
<tr>
<% Object.keys(result).forEach(function (key) { %>
<td><%= result[key] %> </td>
<% }) %>
</tr>
<% }) %>
现代浏览器现在有箭头,所以可以稍微简化一下:
<% results.forEach(result => { %>
<tr>
<% Object.keys(result).forEach(key => { %>
<td><%= result[key] %> </td>
<% }) %>
</tr>
<% }) %>
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 在ejs-partial中对JSON对象进行迭代
- 将对象传递到sails.js中的views/layout.ejs
- EJS 仅输出对象的某些部分
- 使用 ejs 嵌入用户对象
- JavaScript动态对象键ejs
- 使用html-webpack-plugin将一个对象传递给ejs加载器
- EJS解析JSON对象中的JSON数组
- 如何访问ejs中的文档dom对象
- 如何在 EJS 中将 JSON 对象传递给内联 JavaScript
- 三ejs场景从搅拌机和访问对象