如何从对象数组中提取id为35的元素的code属性值?
实现方法
你可以利用数组的find()方法定位到id为35的对象,再提取它的code属性值,同时建议处理找不到对应对象的边界情况,避免出现报错:
import { useLocation } from "react-router-dom"; const Single = ({ inputs, title }) => { const { state } = useLocation(); let data1 = state.foo; console.log(data1); // 查找id为35的对象 const targetItem = data1.find(item => item.id === 35); // 提取code,若找不到则设为默认值(比如空字符串) const targetCode = targetItem ? targetItem.code : ''; // 可以打印或者使用这个值 console.log(targetCode); };
补充说明
find()方法会遍历数组,返回第一个符合item.id === 35条件的对象;如果数组里没有匹配的对象,会返回undefined,所以用三元判断来避免读取undefined的code属性导致报错。- 如果确定data1里一定存在id为35的对象,也可以直接写
const targetCode = data1.find(item => item.id === 35).code;,但不推荐,一旦数据异常会引发错误。
内容的提问来源于stack exchange,提问作者Darkpsinight
相关产品推荐
相关产品推荐

