Axios中如何从响应的第n个数组对象中获取指定值?
解决方案
1. 已知目标元素在数组中的位置(索引)
数组索引从0开始计数,直接通过对应索引定位元素即可:
- 获取第二个对象的
id=3546:response.data[0].library[1].id - 获取第三个对象的
id=6577:response.data[0].library[2].id
2. 不知道目标元素的索引,通过属性值查找
如果不确定目标元素在数组中的位置,可使用数组的find方法匹配对应属性:
- 根据
id值查找:// 匹配id为3546的对象 const targetItem = response.data[0].library.find(item => item.id === 3546); // 提取id值(先判断对象是否存在,避免报错) const targetId = targetItem ? targetItem.id : null; - 根据
name值查找(比如匹配"KAT"):const targetItem = response.data[0].library.find(item => item.name === "KAT"); const targetId = targetItem ? targetItem.id : null;
错误原因说明
你之前用response.data[0].library[0].id拿到的是具体数值1234,对数值调用(1)或.get(1)都是无效操作——数值不是函数,也没有get方法。正确逻辑是先定位到library数组里的目标元素,再访问它的id属性。
内容的提问来源于stack exchange,提问作者EdXX
相关产品推荐
相关产品推荐

