如何在EJS中使用JavaScript变量过滤数组?
问题:通过JavaScript的
username变量过滤users数组 服务端代码
var users = data.filter(u => u.id.startsWith('user_')).map(u => u.value); // 输出示例:[{"username": "arin2115", "someotherdata": "someotherdata"}, {"username": "tesla", "someotherdata": "someotherdata"}] return res.render('admin/users', {users: users});
原客户端代码(无法生效)
<script> var someelement = document.getElementById("someelement"); var username = "arin2115"; var user = `<%-JSON.stringify(users.filter(x => x.username == "${username}")[0])%>`; someelement.innerHTML = user.someotherdata; </script>
尝试了多种类似写法都无法实现需求。
可行解决方案(来自@AngYC)
var username = "arin2115"; var users = <%-JSON.stringify(users)%>; var user = users.find(x => x.username == username);
感谢@AngYC的解决方案。
内容的提问来源于stack exchange,提问作者Karciello YT
相关产品推荐
相关产品推荐

