Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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
Node.js ejs&x2B;nodejs-比较两个变量';行不通_Node.js_Ejs - Fatal编程技术网

Node.js ejs&x2B;nodejs-比较两个变量';行不通

Node.js ejs&x2B;nodejs-比较两个变量';行不通,node.js,ejs,Node.js,Ejs,在nodejs中渲染期间,我传递了两个变量。假设它们是模板&treeInfo 在template.ejs中,我有 <% for(var i=0; i<templates.length; i++) {%> <%= templates[i]._id %> = <%= treeInfo.owner[0] %><br> <% if (templates[i]._id == treeInfo

在nodejs中渲染期间,我传递了两个变量。假设它们是模板&treeInfo

在template.ejs中,我有

        <% for(var i=0; i<templates.length; i++) {%>
          <%= templates[i]._id %> = <%= treeInfo.owner[0] %><br>
          <% if (templates[i]._id == treeInfo.owner) { %>
              ok
          <% } %>
        <% } %>

变量类型无法理解。这就是为什么需要toString()

<% for(var i=0; i<templates.length; i++) {%>
  <%= templates[i]._id %> = <%= treeInfo.owner[0] %><br>
  <% if (templates[i]._id.toString() == treeInfo.owner.toString()) { %>
         __append('Hello World');
 <% } %>

比较EJS和nodejs中的两个对象/变量

if(user1.equals(user2))
{
console.log(“两者相等”);

}
嘿,我只是看到你通过模板[I]来完成作业。\u id=treeInfo.owner[0]。但是你可以把它和treeInfo.owner进行比较。它不应该是“if(templates[i].\u id==treeInfo.owner[0])”吗。正在使用value-to-object进行比较。嗨,Duane,任何一种方法都不起作用:/最终我做了JSON.stringify(模板[I]。\u id)==JSON.stringify(treeInfo.owner[0]),现在它工作正常。谢谢酷。是的,我刚刚告诉你输入错误,你没有包括treeInfo.owner[0],而是与treeInfo.owner进行了比较。猜测它在JSON.stringify解决方案中已更正。