Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 无法将数组从节点/Express推送到EJS模板_Arrays_Node.js_Express_Ejs - Fatal编程技术网

Arrays 无法将数组从节点/Express推送到EJS模板

Arrays 无法将数组从节点/Express推送到EJS模板,arrays,node.js,express,ejs,Arrays,Node.js,Express,Ejs,我无法将一个数组从服务器端express推送到我的EJS模板,而不会丢失它的所有数据类型。我正在尝试使用谷歌图表来显示一些数据。它需要这样格式化的数组 var data = google.visualization.arrayToDataTable([ ['Task', 'Hours per Day'], ['Work', 11], ['Eat', 2], ['Commute', 2], ['Watch TV', 2], ['S

我无法将一个数组从服务器端express推送到我的EJS模板,而不会丢失它的所有数据类型。我正在尝试使用谷歌图表来显示一些数据。它需要这样格式化的数组

var data = google.visualization.arrayToDataTable([
    ['Task', 'Hours per Day'],
    ['Work',     11],
    ['Eat',      2],
    ['Commute',  2],
    ['Watch TV', 2],
    ['Sleep',    7]
     ]);
在服务器上,我有以下代码以这种方式格式化数据,然后尝试将该数组发送到我的EJS模板

router.get('/:id', function(req, res){
    Poll.findById(req.params.id, function(err, poll){
        if (err) {
            console.log(err)
            res.redirect('back')
        } else {
            var optionData = [...poll.options];
            console.log(optionData);
            var optionArray = []
            optionData.forEach(function(option){
                optionArray.push([option.text, option.count]);
            })
            console.log(optionArray);
            res.render('../views/polls/show', {poll: poll, optionArray: optionArray})
        }
    })
})
console.log语句在服务器终端中显示以下结果

server started
[ { count: 2, _id: 5b5d1d93e5a57807b97c6f6e, text: 'lets goo1' },
  { count: 0, _id: 5b5d1d93e5a57807b97c6f6d, text: 'here we go2' },
  { count: 2, _id: 5b5d1d93e5a57807b97c6f6c, text: 'nice nice 3' } ]
[ [ 'lets goo1', 2 ],
  [ 'here we go2', 0 ],
  [ 'nice nice 3', 2 ] ]
但是,当我尝试在EJS中使用optionArray时,源代码会将其转换为以下内容:

console.log(<%=optionArray%>)
ends up looking like this in the browsers source code
console.log(lets goo1,2,here we go2,0,nice nice 3,2)
console.log()
最终在浏览器源代码中看起来像这样
log(让goo1,2,这里是go2,0,很好的3,2)
有人知道如何在将数组结构从node/express传递到EJS时保留它吗?

    <ul>
        <% for(var i=0; i<optionsArray.length; i++) { %>
            <li>
                <%= console.log(optionsArray[i]) %>
            </li>
        <% } %>
    </ul>