我有以下陣列:
const cars = [
{ make: 'Toyota', model: '4Runner', bodyType: 'SUV' },
{ make: 'Audi', model: 'A4', bodyType: 'Sedan' },
{ make: 'Ford', model: 'F-150', bodyType: 'Truck' },
]
我想在訪問 /cars 端點時發送汽車陣列。但是當用戶向端點添加查詢時,例如 /cars?bodyType=SUV 它應該只回傳過濾后的專案。
到目前為止,我有:
app.get('/cars', (req, res) => {
const bodyType = req.query.bodyType
const filteredCars = cars.filter((car) => car.bodyType === bodyType)
res.send(req.query === ? cars : filteredCars)
})
我知道我可能已經走了。
uj5u.com熱心網友回復:
以下代碼回圈遍歷查詢中的所有鍵并將其與汽車物件進行比較。
app.get('/', (req, res) => {
const filter = req.query
const haveFilters = Object.keys(filter).length
let filteredCars = cars
if(haveFilters){
filteredCars = cars.filter((car) => {
for(let key in filter){
if(car[key] !== filter[key]) return false
}
return true
})
}
res.send(filteredCars)
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/440862.html
標籤:javascript 节点.js 表示
