我如何roles在這個陣列中過濾以在找到時回傳 true "Admin"?
const array = [{
"country": "all",
"roles": [
"Normal",
"Admin",
]
}]
uj5u.com熱心網友回復:
使用.filter()和.includes():
const admins = array.filter((u) => u.roles.includes("Admin"))
uj5u.com熱心網友回復:
1.你的意思是回傳一個布林值嗎?
在Js es6中,你可以使用.some() MDN web docs
很好很簡單:)
const array = [{
"country": "all",
"roles": [
"Normal",
"Admin",
]
}, {
"country": "test",
"roles": [
"Normal"
]
}]
const result = array.some(o => Boolean(o.roles.some(role => role === 'Admin')))
console.log(result) // return true
2.或者,你的意思是它回傳一個new array,其中每個角色都變成一個布林值,這取決于是否有“管理員”?
如果是,.some()也可以:)
試試下面:
const array = [{
"country": "all",
"roles": [
"Normal",
"Admin",
]
}, {
"country": "test",
"roles": [
"Normal"
]
}]
const result = array.reduce((acc, curr, index) => {
const item = Object.assign({}, curr, { roles: curr.roles.some(o => o === 'Admin') })
acc.push(item)
return acc
}, [])
console.log(result) // return true
或者如果它過濾一個陣列,我的答案和 Tobias 的一樣:)
uj5u.com熱心網友回復:
const array = [{
"country": "all",
"roles": [
"Normal",
"Admin",
]
}]
const val = array.map((a) => a.roles.includes('Admin'))
console.log(val) //return true
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/478616.html
標籤:反应
下一篇:反應,在兄弟組件之間傳遞狀態
