React Native中如何通过TextInput输入值从对象数组获取对应_id
实现方案
你可以直接用JS数组自带的find()方法完成匹配查找,具体实现如下:
基础精确匹配版本
如果要求名称完全匹配(大小写、空格都完全一致),直接用以下代码:
const targetTeam = Teams.find(item => item.name === myTeam); if (targetTeam) { console.log(`该条目对应的id为:${targetTeam._id}`); } else { console.log('未找到对应名称的团队'); }
优化容错版本
如果需要兼容用户输入的大小写偏差、前后多余空格的场景,可以调整匹配规则:
// 先统一处理用户输入 const formattedInput = myTeam.trim().toLowerCase(); const targetTeam = Teams.find(item => item.name.toLowerCase() === formattedInput); if (targetTeam) { console.log(`该条目对应的id为:${targetTeam._id}`); } else { console.log('未找到对应名称的团队'); }
逻辑说明
Array.find()会遍历数组,返回第一个符合匹配条件的元素,无匹配项时返回undefined- 增加非空判断可以避免未匹配到目标时访问
_id属性抛出的报错 - 优化版本通过
trim()去除输入前后空格、toLowerCase()统一大小写,大幅降低误匹配概率
内容的提问来源于stack exchange,提问作者Payam Taheri
相关产品推荐
相关产品推荐

