我像這樣從我的控制器 app.js 發送一個名為 gudangs 的物件陣列
res.render('daftar-staff', {
title: 'Daftar Staff',
session: req.session,
layout: 'layouts/main-layouts',
gudangs
})
它成功發送到 ejs 視圖,我收到了
{ _id: new ObjectId("61a804c4059d1d90797c8ad0"), nama: 'gudang benowo', alamat: '', __v: 0 },{ _id: new ObjectId("61a804ecdfa6962a0162850f"), nama: 'gudang pakal', alamat: '', __v: 0 },{ _id: new ObjectId("61a86fb98b3cd7f948a388b7"), nama: 'gudang tandes', alamat: 'tandes no 19', isFull: 'true', __v: 0 },{ _id: new ObjectId("61a872c07cc01577ddf78b53"), nama: 'gudang kepatihan', alamat: '', isFull: 'true', __v: 0 },{ _id: new ObjectId("61a954eee3c45454070d4b10"), alamat: 'jalan benowo 13', __v: 0 },{ _id: new ObjectId("61a955954e757a01405e44b4"), alamat: 'jalan benowo 13', __v: 0 }
我想要的是在特定的 gudang _id 上列印 nama
現在我可以通過像這樣遍歷所有 gudangs 陣列來完成此操作
<% gudangs.forEach((gudang,i) => { %>
<% if(gudang._id==='xxxx'){ %>
<%= gudang.nama %>
<% } %>
<% } %>
我想知道有沒有簡單的方法可以做到這一點?
uj5u.com熱心網友回復:
使用 JS 陣列過濾器
<%= gudangs.filter(({ _id })=> {return _id === 'XXX'})[0]['nama'] %>
gudangs = [{ _id: "61a804c4059d1d90797c8ad0", nama: 'gudang benowo', alamat: '', __v: 0 },{ _id: "61a804ecdfa6962a0162850f", nama: 'gudang pakal', alamat: '', __v: 0 },{ _id: "61a86fb98b3cd7f948a388b7", nama: 'gudang tandes', alamat: 'tandes no 19', isFull: 'true', __v: 0 },{ _id: "61a872c07cc01577ddf78b53", nama: 'gudang kepatihan', alamat: '', isFull: 'true', __v: 0 },{ _id: "61a954eee3c45454070d4b10", alamat: 'jalan benowo 13', __v: 0 },{ _id: "61a955954e757a01405e44b4", alamat: 'jalan benowo 13', __v: 0 }];
console.log(gudangs.filter(({ _id })=> {return _id === '61a804ecdfa6962a0162850f'})[0]['nama']);
這是一個作業片段。請記住,這ObjectId不是在前端 Javascript 中定義的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/378966.html
上一篇:Mongoosesum$sizeofsubdocumentsarrayfield
下一篇:js和css沖突問題?
