[英]How to access the data from an array of objects by TextInput in react native
我在控制台中有一組對象。 我想獲取用戶在 TextInput 中輸入的名稱的 ID。 這是以下結果: console.log("All teams", Teams);
console.log("Selected team: ", myTeam);
All teams:
Array [
Object {
"__v": 0,
"_id": "616e33b163d7ed23e95a9d98",
"name": "test_team",
},
Object {
"__v": 0,
"_id": "6181c5b3b5dfd98d4206e915",
"name": "Team2",
},
Object {
"__v": 0,
"_id": "6181c5d9b5dfd98d4206e919",
"name": "team3",
},
Object {
"__v": 0,
"_id": "6181c5e0b5dfd98d4206e91c",
"name": "team4",
},
Object {
"__v": 0,
"_id": "6181c5e4b5dfd98d4206e91f",
"name": "team5",
},
Object {
"__v": 0,
"_id": "6181c681b5dfd98d4206e924",
"name": "team6",
},
Object {
"__v": 0,
"_id": "618a046dbdb0ee4648b9da0f",
"name": "sprinters",
},
Object {
"__v": 0,
"_id": "618a058ebdb0ee4648b9da15",
"name": "phone stepper",
},
]
所選團隊:Team2
Team2 的值來自用戶的條目,我需要獲取此條目的“_id”的值,例如“此條目的 id 為:6181c5b3b5dfd98d4206e915” 我應該如何解決這個問題? 提前感謝您的幫助。
您可以在數組上運行 find 方法以挑選出名為“Team2”的第一個對象,然后訪問_id
屬性。
const id = allTeamsArr.find(obj => obj.name === 'Team2')['_id']
使用 Array.filter 函數過濾掉。
var arr =[
{ "__v": 0, "_id": "616e33b163d7ed23e95a9d98", "name": "test_team" },
{ "__v": 0, "_id": "6181c5b3b5dfd98d4206e915", "name": "Team2" },
{ "__v": 0, "_id": "6181c5d9b5dfd98d4206e919", "name": "team3" },
{ "__v": 0, "_id": "6181c5e0b5dfd98d4206e91c", "name": "team4" },
{ "__v": 0, "_id": "6181c5e4b5dfd98d4206e91f", "name": "team5" },
{ "__v": 0, "_id": "6181c681b5dfd98d4206e924", "name": "team6" },
{ "__v": 0, "_id": "618a046dbdb0ee4648b9da0f", "name": "sprinters" },
{ "__v": 0, "_id": "618a058ebdb0ee4648b9da15", "name": "phone stepper" } ]
var input = '6181c5b3b5dfd98d4206e915';
var selected = arr.filter((item) => item._id == input)
您可以通過在 Textinput 的更改事件上調用以下函數來嘗試:
<TextInput onChange={this.onChangeHandler} />
onChangeHandler = (e)=> {
const teamId = allTeams.filter(obj => obj.name === e.target.value)['_id']
console.log(e.target.value, teamId)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.