【发布时间】:2020-03-19 14:41:15
【问题描述】:
我正在尝试在 Javascript 中使用 PUG 模板(如果可能)来比较两个数组,当我在 ID 中找到对应关系时,显示一些特定元素。
// First Array : I iterate over "hearts" object
// Called in PUG : - const user
[
{
"hearts": [
"5e70c63a94b27b164c9b897f",
"5e723c75e4bfdf4f58c55e32"
],
"_id": "5e6bb1189978fd5afc98c57a",
"email": "catherine@catherine.com",
"name": "Catherine",
"photo": "0121b7fe-b2ae-4e75-979d-7dea1a432855.jpeg",
"__v": 0
},
{
"hearts": [
"5e723c75e4bfdf4f58c55e32"
],
"_id": "5e6bc41f5915e3d2980a5174",
"email": "marc@marc.com",
"name": "Marc",
"photo": "4caa7bfb-6408-4893-a78b-fa6e8e5b03e7.png",
"__v": 0
}
]
// Second array : I iterate over "author.hearts" object
// Called in PUG : - const store
[{
"product": {
"categories": [
1,
2
]
},
"_id": "5e6bcc76c4022eae00e22af6",
"date": "2222-02-20T21:22:00.000Z",
"author": {
"hearts": [
"5e723c75e4bfdf4f58c55e32",
"5e70c63a94b27b164c9b897f"
],
"_id": "5e6bb1189978fd5afc98c57a",
"__v": 0
},
"created": "2020-03-13T18:09:58.086Z",
"id": "5e6bcc76c4022eae00e22af6"
}]
我想遍历第一个数组,找到第一个 ID(此处为 5e70c63a94b27b164c9b897f),遍历第二个数组并查看此 ID 是否存在于“author.hearts”对象中。如果不是,则继续使用第二个 ID,如果存在,则显示找到该 ID 的对象的所有键(标签、照片、_id、日期...)。
在我的示例中,我的数组中只有一个对象,但稍后我会拥有更多。 非常感谢您的帮助
【问题讨论】:
-
问之前有没有自己尝试过?
-
这种逻辑最好远离 pug 模板,并在 express 路由中进行预处理。我也同意 Sean 的观点,即您需要根据社区准则发布解决此问题的尝试。
-
是的@Sean,我以前尝试过,因为我做这一切主要是为了训练,因为我正在使用 nodejs 学习 PUG。我已经删除了我所做的事情,但我正在尝试类似的事情:
each val in hearts each obj in userHearts - if(val ==obj) .....和@Graham,是的,我稍后会在我的一个控制器中运行它。但现在,我需要在 PUG 中处理它谢谢
标签: javascript arrays loops pug