[英]Validate route params as array of object
說用戶可以轉到此處example.com/?page=1&q=123
我可以得到[{page: 1}, {q: 123}]
使用圖書館
但是說我想對某些東西使用[{page: 1}]
仍然很危險,因為用戶可以輸入我不需要的額外參數。
所以我的想法是我提供一個預置const preset = [{page: 1}, {valid: true}]
我如何[{page: 1}, {valid: true}] from says [{page: 1}, {valid: true}, {abc: 123}, {other: 'others'}]
?
var arr = [{page: 1}, {valid: true}, {abc: 123}, {other: 'others'}]; var result = arr.filter(x => Object.keys(x).includes('page') || Object.keys(x).includes('valid')); console.log(result);
使用filter
和Object.keys
遍歷數組並檢查返回鍵obj
const mixArray = [{page: 1}, {valid: true}, {abc: 123}, {other: 'others'}]; function filterRequiredObj(arr=[],filters=[]){ return arr.filter((f)=>{ const keys= Object.keys(f)[0]; if(filters.includes(keys)) return f }) } const newArray = filterRequiredObj(mixArray,['page','valid']) console.log('newArray',newArray)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.