Node Js Express遍历数组
Node Js Express Iterate through array
我将shell命令的STDOUT拆分为一个数组,并将其传递给hogan视图引擎。
下面是来自路由器文件- index.js
/* Test Shell Execute. */
router.get('/shell', function(req, res){
exec('ls -1', function (error, stdout, stderr) {
result = stdout.toString().split("'n");
res.render('shell', { title: "File Explorer",
array1: result[0],
array2: result[1],
array3: result[2],
array4: result[3],
array5: result[4],
error: error,
stderr: stderr
});
});
});
这工作得很好,但是,而不是手动通过数组中的每个项目发送,我想在视图端迭代项目,然后输出。然而,我正在使用Hogan视图引擎,它似乎根本无法识别脚本标签。
这是来自我的视图shell。hj文件。
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1>{{ title }}</h1>
<p>Welcome to {{ title }}</p>
<p>Array1 = {{ array1 }}</p>
<p>Array2 = {{ array2 }}</p>
<p>Array3 = {{ array3 }}</p>
<p>Array4 = {{ array4 }}</p>
<script>
for(var i = 0; i > result.length; i++ ) {
document.write('<p>' + result[i] + '</p>')
}
</script>
</body>
</html>
问题:我做错了什么,最好/最简单的方法是什么? 因为hogan.js是基于mustache.js的,所以最好将数组转换为对象。试试这个:
router.get('/shell', function(req, res){
exec('ls -1', function (error, stdout, stderr) {
result = stdout.split("'n"),
filesArray = [];
result.map(function (file, index) {
filesArray.push({index: ++index, file: file});
});
res.render('shell', { title: "File Explorer",
result: filesArray,
error: error,
stderr: stderr
});
});
});
并且,在你的模板中:
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1>{{ title }}</h1>
<p>Welcome to {{ title }}</p>
<ul>
{{#result}}
<li>Array{{index}} = {{file}}</li>
{{/result}}
</ul>
</body>
</html>
相关文章:
- 循环遍历以数组为值的Javascript对象
- 如何遍历包含对象的数组-javascript
- JS.循环遍历多维数组,以计数元素在每列中的出现次数
- 根据PHP中数组的长度在Google Maps API中循环遍历标记
- 无法在javascript中循环遍历对象数组
- 如何使用jquery遍历具有动态添加元素的数组
- 我想遍历一个对象数组,我不想要任何重复项
- 如何遍历 JSON 对象以适合 JavaScript 数组
- 如何遍历 d3 中的值内部数组并添加相应的子元素
- Javascript 尝试遍历对象数组以显示其属性
- 使用jQuery循环遍历颜色数组
- javascript循环遍历列表项,并在数组中返回结果
- 循环遍历以数组作为值的对象的对象
- 遍历jQuery JSON对象数组
- 用javascript遍历映射中的数组
- 遍历嵌套的Javascript数组以创建路径
- 根据属性值创建多个对象数组,然后遍历每个数组
- 使用内部数组遍历数组并创建新对象 - AngularJS
- Jquery中的关联数组遍历每个元素
- Javascript - 使用数组遍历字段